Macro excel double boucle
yadloh
Messages postés
3
Statut
Membre
-
yadloh Messages postés 3 Statut Membre -
yadloh Messages postés 3 Statut Membre -
Bonjour,
j'ai un probleme au niveau de ma macro excel. Je seche dessus depuis plusieurs jours deja. J'ai donc besoin que quelqu'un vienne à mon secours !!!
Je souhaite créer une double boucle. En effet je veux sélectionner les dernieres cellules d'une colonne (M) dans chaque onglet créé auparavant par la premiere boucle. pour cela j'ai besoin de faire une double boucle car les noms des onglets sont créés en fonction des informations récupérées par la premiere boucle. (je sais c'est un peu compliqué)
Mon probleme est que lorsque je lance ma macro seule la deuxieme boucle est lancée et non la premiere qui devrait me sélectionner le bon onglet .
Voila mon code :
Sub essai()
Dim I As Long
Sheets("Toutes BUs Valeurs").Select
Dim Plage_BU As Range
Set Plage_BU = Range("D8:D" & Range("D8").End(xlDown).Row)
For I = Plage_BU.Cells.Count To 1 Step -1
Plage_BU.Cells(I).Value = UCase(Plage_BU.Cells(I).Value)
Plage_BU.Cells(I - 1).Value = UCase(Plage_BU.Cells(I - 1).Value)
If Plage_BU.Cells(I).Value <> Plage_BU.Cells(I - 1).Value Then
Sheets(Plage_BU.Cells(I - 1).Value).Select
End If
Dim J As Double
Dim Plage_Total As Range
Set Plage_Total = Range("M2:M" & Range("M2").End(xlDown).Row)
For J = Plage_Total.Cells.Count To 1 Step -1
Plage_Total.Cells(J).Value = UCase(Plage_Total.Cells(J).Value)
Plage_Total.Cells(J - 1).Value = UCase(Plage_Total.Cells(J - 1).Value)
If Plage_Total.Cells(J).Value = "" Then
Plage_Total.Cells(J - 1).Select
Selection.Copy
Sheets("Récapitulatif").Select
Range("A4").Select
Selection.Insert Shift:=xlDown
End If
Next
Next
End Sub
Je vous remercie par avance de vos réponses !
Jonathan
j'ai un probleme au niveau de ma macro excel. Je seche dessus depuis plusieurs jours deja. J'ai donc besoin que quelqu'un vienne à mon secours !!!
Je souhaite créer une double boucle. En effet je veux sélectionner les dernieres cellules d'une colonne (M) dans chaque onglet créé auparavant par la premiere boucle. pour cela j'ai besoin de faire une double boucle car les noms des onglets sont créés en fonction des informations récupérées par la premiere boucle. (je sais c'est un peu compliqué)
Mon probleme est que lorsque je lance ma macro seule la deuxieme boucle est lancée et non la premiere qui devrait me sélectionner le bon onglet .
Voila mon code :
Sub essai()
Dim I As Long
Sheets("Toutes BUs Valeurs").Select
Dim Plage_BU As Range
Set Plage_BU = Range("D8:D" & Range("D8").End(xlDown).Row)
For I = Plage_BU.Cells.Count To 1 Step -1
Plage_BU.Cells(I).Value = UCase(Plage_BU.Cells(I).Value)
Plage_BU.Cells(I - 1).Value = UCase(Plage_BU.Cells(I - 1).Value)
If Plage_BU.Cells(I).Value <> Plage_BU.Cells(I - 1).Value Then
Sheets(Plage_BU.Cells(I - 1).Value).Select
End If
Dim J As Double
Dim Plage_Total As Range
Set Plage_Total = Range("M2:M" & Range("M2").End(xlDown).Row)
For J = Plage_Total.Cells.Count To 1 Step -1
Plage_Total.Cells(J).Value = UCase(Plage_Total.Cells(J).Value)
Plage_Total.Cells(J - 1).Value = UCase(Plage_Total.Cells(J - 1).Value)
If Plage_Total.Cells(J).Value = "" Then
Plage_Total.Cells(J - 1).Select
Selection.Copy
Sheets("Récapitulatif").Select
Range("A4").Select
Selection.Insert Shift:=xlDown
End If
Next
Next
End Sub
Je vous remercie par avance de vos réponses !
Jonathan
A voir également:
- Macro excel double boucle
- Double ecran - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Whatsapp double sim - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
Mais en réalité les boucles exécutées une par une fonctionnent correctement, c'est le fait de les mettre ensemble qui pose probleme. En effet je voudrais que pour chaque condition de I, la "boucle" de J soit lancée.
Or seule la "boucle" de J se lance, lors de l'exécution la premiere boucle est sautée.
Merci