OVH Cloud OVH Cloud

Encore une question... Debogage Range

3 réponses
Avatar
ed
Je n'arrive tjs pas à le faire et pourtant, grace a ce forum, j'ai progressé...
Le pb. Grace à Lolotte, j,ai pu:
Ouvrir 25 fichiers et constituer un seul classeur avec 25 onglets.
Ces onglets, tjs grace à Lolotte, je compare les données et les décalent si
leur code n'est pas le code référent de la ligne

Complication:
Ces codes référents sont sur un autre onglet.
Comment adapter le code. Je n'y parviens pas et après une journée passée
dessus, je vous demande encore de l'aide.

Sub Test()
Dim xCellule1 As Range
Dim xCel1, xCel2
Dim xAd1, xAd2
Dim i
i = 0
For Each xCellule In Worksheets("ONGLET 1").Range("B6")
i = i + 1
xCel1 = xCellule.Value
Worksheets("ONGLET REFERENT").Range("B6").Select
xCel2 = xCellule.Value
If xCel1 <> xCel2 Then
Range("B" & i + 3, "Q" & i + 3).Select
Selection.Insert Shift:=xlDown
End If
Next
En réalité, je ne parviens pas à passer d'un onglet à l'autre...
ça bugue qd je specifie "Worksheets onglet referent pour aller chercher la
valeur de comparaison.
Merci de votre aide TRES PRECIEUSE.
ed

3 réponses

Avatar
JLuc
*Bonjour ed*,
Tu te complique trop les choses : imagine que tu fais une boucle for
pour une seule cellule !
Essaie :
Sub Test()
Dim i
i = 1
If Sheets("ONGLET 1").Range("B6") <> _
Sheets("ONGLET REFERENT").Range("B6") Then
Sheets("ONGLET REFERENT").Range("B" & i + 3, "Q" & i + 3).Insert _
Shift:=xlDown
End If
...
...
End Sub


Je n'arrive tjs pas à le faire et pourtant, grace a ce forum, j'ai
progressé... Le pb. Grace à Lolotte, j,ai pu:
Ouvrir 25 fichiers et constituer un seul classeur avec 25 onglets.
Ces onglets, tjs grace à Lolotte, je compare les données et les décalent si
leur code n'est pas le code référent de la ligne

Complication:
Ces codes référents sont sur un autre onglet.
Comment adapter le code. Je n'y parviens pas et après une journée passée
dessus, je vous demande encore de l'aide.

Sub Test()
Dim xCellule1 As Range
Dim xCel1, xCel2
Dim xAd1, xAd2
Dim i
i = 0
For Each xCellule In Worksheets("ONGLET 1").Range("B6")
i = i + 1
xCel1 = xCellule.Value
Worksheets("ONGLET REFERENT").Range("B6").Select
xCel2 = xCellule.Value
If xCel1 <> xCel2 Then
Range("B" & i + 3, "Q" & i + 3).Select
Selection.Insert Shift:=xlDown
End If
Next
En réalité, je ne parviens pas à passer d'un onglet à l'autre...
ça bugue qd je specifie "Worksheets onglet referent pour aller chercher la
valeur de comparaison.
Merci de votre aide TRES PRECIEUSE.
ed


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O

Avatar
ed
Je dois être ben bête parce que ça marche pas. Je trouvais pourtant la parade
intéressante... Au moins avec mes 2 boucles (une pour chaque valeur), il
allait bien chercher mes valeurs... mais ça ne marche pas non plus car il ne
me fait plus de boucle... surement à cause de mon next de la premiere
boucle...

Entre temps, j,ai RÉ-aménagé le code, J'ai fait aussi compliqué qu'un
débutant puisse faire.
Merci à ceux qui pourront me depatouiller ce machin

Voici maintenant ce que j'ai:
Sub Test()
Dim xCellule As Range
Dim xCel1, xCel2
Dim i
i = 0
ActiveSheet.Select
Range("B6").Select
For Each xCellule In Range("B6")
i = i + 1
xCel1 = xCellule.Value
Next
sheets("Feuil3").Select
For Each xCellule In Range("B6")
xCel2 = xCellule.Value
If xCel1 <> xCel2 Then
sheets("ONGLET 1").Select ---- DEVRAIT ÊTRE ACTIVESHEETMAIS JE DOIS
SPECIFIER LE NOM DE L'ONGLET CAR J'ETAIS SUR UN AUTRE AVANT... POUR
ALLERCHERCHER VALEUR DE CEL2.
Range("B" & i + 5, "Q" & i + 5).Select
Selection.Insert Shift:=xlDown
End If
Next

End Sub



*Bonjour ed*,
Tu te complique trop les choses : imagine que tu fais une boucle for
pour une seule cellule !
Essaie :
Sub Test()
Dim i
i = 1
If Sheets("ONGLET 1").Range("B6") <> _
Sheets("ONGLET REFERENT").Range("B6") Then
Sheets("ONGLET REFERENT").Range("B" & i + 3, "Q" & i + 3).Insert _
Shift:=xlDown
End If
....
....
End Sub


Je n'arrive tjs pas à le faire et pourtant, grace a ce forum, j'ai
progressé... Le pb. Grace à Lolotte, j,ai pu:
Ouvrir 25 fichiers et constituer un seul classeur avec 25 onglets.
Ces onglets, tjs grace à Lolotte, je compare les données et les décalent si
leur code n'est pas le code référent de la ligne

Complication:
Ces codes référents sont sur un autre onglet.
Comment adapter le code. Je n'y parviens pas et après une journée passée
dessus, je vous demande encore de l'aide.

Sub Test()
Dim xCellule1 As Range
Dim xCel1, xCel2
Dim xAd1, xAd2
Dim i
i = 0
For Each xCellule In Worksheets("ONGLET 1").Range("B6")
i = i + 1
xCel1 = xCellule.Value
Worksheets("ONGLET REFERENT").Range("B6").Select
xCel2 = xCellule.Value
If xCel1 <> xCel2 Then
Range("B" & i + 3, "Q" & i + 3).Select
Selection.Insert Shift:=xlDown
End If
Next
En réalité, je ne parviens pas à passer d'un onglet à l'autre...
ça bugue qd je specifie "Worksheets onglet referent pour aller chercher la
valeur de comparaison.
Merci de votre aide TRES PRECIEUSE.
ed


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O






Avatar
JLuc
*Bonjour ed*,
Donne nous la plage de cellules et les noms d'onglets correspondant
ainsi que l'onglet sur lequel tu veux inserer une cellule pour pouvoir
t'aider dans ta boucle. Ta procedure essaie de faire une boucle sur UNE
et UNE SEULE cellule, elle passe une fois mais pas deux ! :/


Je dois être ben bête parce que ça marche pas. Je trouvais pourtant la parade
intéressante... Au moins avec mes 2 boucles (une pour chaque valeur), il
allait bien chercher mes valeurs... mais ça ne marche pas non plus car il ne
me fait plus de boucle... surement à cause de mon next de la premiere
boucle...

Entre temps, j,ai RÉ-aménagé le code, J'ai fait aussi compliqué qu'un
débutant puisse faire.
Merci à ceux qui pourront me depatouiller ce machin

Voici maintenant ce que j'ai:
Sub Test()
Dim xCellule As Range
Dim xCel1, xCel2
Dim i
i = 0
ActiveSheet.Select
Range("B6").Select
For Each xCellule In Range("B6")
i = i + 1
xCel1 = xCellule.Value
Next
sheets("Feuil3").Select
For Each xCellule In Range("B6")
xCel2 = xCellule.Value
If xCel1 <> xCel2 Then
sheets("ONGLET 1").Select ---- DEVRAIT ÊTRE ACTIVESHEETMAIS JE DOIS
SPECIFIER LE NOM DE L'ONGLET CAR J'ETAIS SUR UN AUTRE AVANT... POUR
ALLERCHERCHER VALEUR DE CEL2.
Range("B" & i + 5, "Q" & i + 5).Select
Selection.Insert Shift:=xlDown
End If
Next

End Sub



*Bonjour ed*,
Tu te complique trop les choses : imagine que tu fais une boucle for
pour une seule cellule !
Essaie :
Sub Test()
Dim i
i = 1
If Sheets("ONGLET 1").Range("B6") <> _
Sheets("ONGLET REFERENT").Range("B6") Then
Sheets("ONGLET REFERENT").Range("B" & i + 3, "Q" & i + 3).Insert _
Shift:=xlDown
End If
....
....
End Sub


Je n'arrive tjs pas à le faire et pourtant, grace a ce forum, j'ai
progressé... Le pb. Grace à Lolotte, j,ai pu:
Ouvrir 25 fichiers et constituer un seul classeur avec 25 onglets.
Ces onglets, tjs grace à Lolotte, je compare les données et les décalent si
leur code n'est pas le code référent de la ligne

Complication:
Ces codes référents sont sur un autre onglet.
Comment adapter le code. Je n'y parviens pas et après une journée passée
dessus, je vous demande encore de l'aide.

Sub Test()
Dim xCellule1 As Range
Dim xCel1, xCel2
Dim xAd1, xAd2
Dim i
i = 0
For Each xCellule In Worksheets("ONGLET 1").Range("B6")
i = i + 1
xCel1 = xCellule.Value
Worksheets("ONGLET REFERENT").Range("B6").Select
xCel2 = xCellule.Value
If xCel1 <> xCel2 Then
Range("B" & i + 3, "Q" & i + 3).Select
Selection.Insert Shift:=xlDown
End If
Next
En réalité, je ne parviens pas à passer d'un onglet à l'autre...
ça bugue qd je specifie "Worksheets onglet referent pour aller chercher la
valeur de comparaison.
Merci de votre aide TRES PRECIEUSE.
ed


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O






--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O