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 !!! ![]()
Un grand merci à vous. ![]()
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.

