Imbrication boucle
Résolu
camcam1404
Messages postés
64
Date d'inscription
Statut
Membre
Dernière intervention
-
camcam1404 Messages postés 64 Date d'inscription Statut Membre Dernière intervention -
camcam1404 Messages postés 64 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Dans le programme ci-dessous la boucle (For i=2 to Lastrow) ne fonctionne pas correctement.
Je ne comprends pas pourquoi sachant que individuellement, c'est à dire en dehors du For Each elle marche.
Dans le programme ci-dessous la boucle (For i=2 to Lastrow) ne fonctionne pas correctement.
Je ne comprends pas pourquoi sachant que individuellement, c'est à dire en dehors du For Each elle marche.
Sub GGS() Dim f As Worksheet Dim lastrow As Long Dim i As Long For Each f In ActiveWorkbook.Worksheets If UCase(f.Name) Like "*DATE*" Then f.Range("B:B").Insert f.Range("C:C").Insert f.Rows("1:1").Insert lastrow = f.Range("A1").End(xlDown).Row For i = 2 To lastrow f.Cells(i, 2) = Right(f.Cells(i, 1).Value, 4) Next i f.Range("C1").Value = "?" End If Next f End Sub
A voir également:
- Imbrication boucle
- Boucle excel sans macro - Forum Excel
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Mise à disposition de boucle locale dédiée ✓ - Forum Freebox
- Vlc lire en boucle ✓ - Forum Lecteurs et supports vidéo
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
lastrow = f.Range("A1").End(xlDown).Row
Thautheme (bonne année) te demande la valeur de lastrow
5 dollars que si A2<>"" lastrow=2... hé oui
Pour atteindre la dernière cellule éditée d'une colonne je recommande plutôt :
à moins bien sûr d'avoir des données dans la colonne A sous ton tableau...
Sinon, si tu a des en-têtes dans la ligne 1 :
Je vois pas ce que tu veux dire..
Peux tu reformuler s'il te plait ?
A1 est vide suit eà ta ligne f.Rows("1:1").Insert
quand tu écris
Range("A1").End(xlDown).Row
tu demandes en fait: "regarde en descendant (xldown) la 1° ligne=égale à A1"---> 1° ligne non vide
donc si A2 n'est pas vide lastrow=2
et forcémement
For i = 2 To lastrow ---> for i=2 to 2 --> pas de boucle