Travailler sur plusieurs fichiers

Est-il possible de travailler sur 3 fichiers en même temps ? Je m’explique, je souhaite, via un formulaire excel, écrire des données dans mon classeur de base et dans 2 autres classeurs. J’arrive bien à créer et à supprimer par code les onglets des 2 fichiers externes. Par contre, quand je demande de connaitre la dernière ligne d’un onglet d’un des 2 classeurs, ça plante. Auriez-vous une astuce ? Merci

Bonjour,

Oui. Par exemple, le résultat étant dans TextBox1 :

  With Workbooks("Classeur2").Sheets("Feuil1")
    Me.TextBox1.Value = .Cells(.Rows.Count, 1).End(xlUp).Row
  End With

Daniel

Cela devrait marcher !!! :slightly_smiling_face:
Un grand merci à vous. :innocent:

Bonjour,

Sauf avec un tableau structuré avec des données optionnelles. Le code renvoie la dernière ligne du TS, pas la dernière ligne contenant des données. Ainsi, pour la colonne B :

Au lieu de 7.

Dans ce cas, fais une boucle:

  With Workbooks("Classeur2").Sheets("Feuil1")
    For i = Intersect(.[B:B], .UsedRange).Rows.Count To 1 Step -1
      If .Cells(i, 2) <> "" Then
        Me.TextBox1.Value = i
        Exit For
      End If
    Next i
  End With

Daniel

… Ou, plus simplement :

  With Workbooks("260427.xlsm").Sheets("Feuil1")
    Me.TextBox1.Value = .Range("B:B").Find("*", , , , xlByRows, xlPrevious).Row
  End With

Danirl

avec un TS, il faut travailler avec les outils d’un TS et donc, si vous voulez ajouter une nouvelle ligne dans ce TS et remplir cette nouvelle plage, c’est ainsi (ou en plusieurs étapes, si c’est trop compliqué.

     Workbooks("Autre.xlsx").Sheets("Feuil1").Range("Tabel1").ListObject.ListRows.Add.Range.Value = 1

si on utilise la méthode “…end(xlup)”, il faut toujour savoir qu’on ignore les lignes cachées/filtrées, une leçon importante si on ne veut pas écraser des lignes non-visibles.