[macro excel] parcourir un tableau
bombadilom
Messages postés
235
Statut
Membre
-
bombadilom Messages postés 235 Statut Membre -
bombadilom Messages postés 235 Statut Membre -
Bonjour,
a partir d'une feuille excel, j'ouvre un autre document contenant un tableau. Je veux ajouter une ligne à la fin de ce tableau.
Voici mon code
Private Sub CommandButton1_Click()
Dim Numligne As Integer
Numligne = 17
Workbooks.Open ("c:\test.xls")
While Cells.Value(Numligne, 5) <> ""
Workbooks("test.xls").Worksheets("feuil1").Cells(Numligne, 5).Activate
Numligne = Numligne + 1
Wend
Cells.Value(Numligne, 5) = "bonjour"
End Sub
cela me génère un message excel.exe doit fermer. Et puis plus rien ce qui me plonge dans l'expectative.
merci de l'aide que vous pourriez m'apporter.
a partir d'une feuille excel, j'ouvre un autre document contenant un tableau. Je veux ajouter une ligne à la fin de ce tableau.
Voici mon code
Private Sub CommandButton1_Click()
Dim Numligne As Integer
Numligne = 17
Workbooks.Open ("c:\test.xls")
While Cells.Value(Numligne, 5) <> ""
Workbooks("test.xls").Worksheets("feuil1").Cells(Numligne, 5).Activate
Numligne = Numligne + 1
Wend
Cells.Value(Numligne, 5) = "bonjour"
End Sub
cela me génère un message excel.exe doit fermer. Et puis plus rien ce qui me plonge dans l'expectative.
merci de l'aide que vous pourriez m'apporter.
A voir également:
- [macro excel] parcourir un tableau
- Trier un tableau excel - Guide
- Tableau word - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Imprimer un tableau excel - Guide
- Liste déroulante excel - Guide
1 réponse
bonjour,
un regard rapide sur ton code :
1) pour Cells.Value(Numligne, 5) = "bonjour" :
met plutôt Cells(Numligne, 5) .Value= "bonjour"
2) il est possible aussi d'éviter la boucle while :
While Cells.Value(Numligne, 5) <> ""
Workbooks("test.xls").Worksheets("feuil1").Cells(Numligne, 5).Activate
Numligne = Numligne + 1
Wend
Cells.Value(Numligne, 5) = "bonjour"
par :
ActiveSheet.Range("E17").Offset(ActiveSheet.Range("E17").CurrentRegion.Rows.Count, 0).value="bonjour"
un regard rapide sur ton code :
1) pour Cells.Value(Numligne, 5) = "bonjour" :
met plutôt Cells(Numligne, 5) .Value= "bonjour"
2) il est possible aussi d'éviter la boucle while :
While Cells.Value(Numligne, 5) <> ""
Workbooks("test.xls").Worksheets("feuil1").Cells(Numligne, 5).Activate
Numligne = Numligne + 1
Wend
Cells.Value(Numligne, 5) = "bonjour"
par :
ActiveSheet.Range("E17").Offset(ActiveSheet.Range("E17").CurrentRegion.Rows.Count, 0).value="bonjour"
bombadilom
Messages postés
235
Statut
Membre
16
euh . . . Comment dire. MERCI. Et oui je le cris, je le hurle même. Merci infiniment pour ce petit morceau de code qui va grandement me simplifier et qui me montre en passant l'ampleur de mon incompétence dans ce domaine. J'ai bien fait de pas faire développeur comme métier moi :)