Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Probleme de boucle en VBA

19 réponses
Avatar
verdi33
Bonjour à tous,

J'ai un petit probléme de conception pour faire une boucle en VBA.
Voici mon probléme :

Je souhaite balayer la colonne A (de la ligne 10 à 500) et inserer une
ligne vierge chaque fois que la valeur de la cellule A(n) est différente
de la valeur de la cellule A(n+1). Donc j'ai écris ce bout de code et le
curseur ne se déplace pas.... je ne trouve pas mon erreur, pouvez vous
m'aider

Dim Cell As Range
Dim valeur As String


Set Cell = Range("A10")
valeur = ActiveCell.Value

For Each Cell In Range("a10,a500")
If Cell.Value <> valeur Then
valeur = Cell.Value
Cell.EntireRow.Insert
End If
Next Cell


Par avance, merci

Verdi33

10 réponses

1 2
Avatar
Dav
Bonsoir/jour Verdi33

Enlève Set Cell = Range("A10") et essaie comme ça

Dav

"verdi33" a écrit dans le message de groupe de discussion :
#wZ0$
Bonjour à tous,

J'ai un petit probléme de conception pour faire une boucle en VBA.
Voici mon probléme :

Je souhaite balayer la colonne A (de la ligne 10 à 500) et inserer une
ligne vierge chaque fois que la valeur de la cellule A(n) est différente
de la valeur de la cellule A(n+1). Donc j'ai écris ce bout de code et le
curseur ne se déplace pas.... je ne trouve pas mon erreur, pouvez vous
m'aider

Dim Cell As Range
Dim valeur As String


Set Cell = Range("A10")
valeur = ActiveCell.Value

For Each Cell In Range("a10,a500")
If Cell.Value <> valeur Then
valeur = Cell.Value
Cell.EntireRow.Insert
End If
Next Cell


Par avance, merci

Verdi33


Avatar
Dav
Re...

Excuse moi, je suis allé un peu trop vite dans ma réponse.
Voici un code qui fonctionne.

Sub macro10()
Dim l As Integer
l = Range("A10:A500").Rows.Count
Range("A500").Select
For i = 30 To 10 Step -1
If Range("A" & i).Value <> Range("A" & i).Offset(-1, 0).Value Then
Range("A" & i).EntireRow.Insert
End If
Next

End Sub

Dis nous si cela te convient.

Dav


"verdi33" a écrit dans le message de groupe de discussion :
#wZ0$
Bonjour à tous,

J'ai un petit probléme de conception pour faire une boucle en VBA.
Voici mon probléme :

Je souhaite balayer la colonne A (de la ligne 10 à 500) et inserer une
ligne vierge chaque fois que la valeur de la cellule A(n) est différente
de la valeur de la cellule A(n+1). Donc j'ai écris ce bout de code et le
curseur ne se déplace pas.... je ne trouve pas mon erreur, pouvez vous
m'aider

Dim Cell As Range
Dim valeur As String


Set Cell = Range("A10")
valeur = ActiveCell.Value

For Each Cell In Range("a10,a500")
If Cell.Value <> valeur Then
valeur = Cell.Value
Cell.EntireRow.Insert
End If
Next Cell


Par avance, merci

Verdi33


Avatar
Jacky
Bonsoir,

Essaie comme ceci :
'--------
Sub jj()
For i = 500 To 10 Step -1
If Cells(i, 1) <> "" And Cells(i - 1, 1) <> "" And Cells(i, 1) <> Cells(i -
1, 1) Then Cells(i, 1).EntireRow.Insert
Next
End Sub
'------------

--
Salutations
JJ


"verdi33" a écrit dans le message de news:
%23wZ0$
Bonjour à tous,

J'ai un petit probléme de conception pour faire une boucle en VBA.
Voici mon probléme :

Je souhaite balayer la colonne A (de la ligne 10 à 500) et inserer une
ligne vierge chaque fois que la valeur de la cellule A(n) est différente
de la valeur de la cellule A(n+1). Donc j'ai écris ce bout de code et le
curseur ne se déplace pas.... je ne trouve pas mon erreur, pouvez vous
m'aider

Dim Cell As Range
Dim valeur As String


Set Cell = Range("A10")
valeur = ActiveCell.Value

For Each Cell In Range("a10,a500")
If Cell.Value <> valeur Then
valeur = Cell.Value
Cell.EntireRow.Insert
End If
Next Cell


Par avance, merci

Verdi33


Avatar
LSteph
Bonjour,

On vous l'a dit et répété...
;-) pour ceux à qui on l'a déjà dit et répété
Cell
ce mot Cell
est un mot
Ré.ser.vé



Dim c As Range
Dim valeur As String


Set Cell = Range("A10")
valeur = ActiveCell.Value
For Each c In Range("a10,a500")
If c.Value <> valeur Then
valeur = c.Value
c.EntireRow.Insert
End If
Next c

'lSteph

Bonjour à tous,

J'ai un petit probléme de conception pour faire une boucle en VBA.
Voici mon probléme :

Je souhaite balayer la colonne A (de la ligne 10 à 500) et inserer une
ligne vierge chaque fois que la valeur de la cellule A(n) est différente
de la valeur de la cellule A(n+1). Donc j'ai écris ce bout de code et le
curseur ne se déplace pas.... je ne trouve pas mon erreur, pouvez vous
m'aider

Dim Cell As Range
Dim valeur As String


Set Cell = Range("A10")
valeur = ActiveCell.Value

For Each Cell In Range("a10,a500")
If Cell.Value <> valeur Then
valeur = Cell.Value
Cell.EntireRow.Insert
End If
Next Cell


Par avance, merci

Verdi33


Avatar
LSteph
Bonjour,

On vous l'a dit et répété...
;-) pour ceux à qui on l'a déjà dit et répété
Cell
ce mot Cell
est un mot
Ré.ser.vé



Dim c As Range
Dim valeur As String
valeur = ActiveCell.Value
For Each c In Range("a10,a500")
If c.Value <> valeur Then
valeur = c.Value
c.EntireRow.Insert
End If
Next c

'lSteph


Bonjour à tous,

J'ai un petit probléme de conception pour faire une boucle en VBA.
Voici mon probléme :

Je souhaite balayer la colonne A (de la ligne 10 à 500) et inserer une
ligne vierge chaque fois que la valeur de la cellule A(n) est différente
de la valeur de la cellule A(n+1). Donc j'ai écris ce bout de code et le
curseur ne se déplace pas.... je ne trouve pas mon erreur, pouvez vous
m'aider

Dim Cell As Range
Dim valeur As String


Set Cell = Range("A10")
valeur = ActiveCell.Value

For Each Cell In Range("a10,a500")
If Cell.Value <> valeur Then
valeur = Cell.Value
Cell.EntireRow.Insert
End If
Next Cell


Par avance, merci

Verdi33


Avatar
LSteph
..oupss en plus faudrait boucler en remontant...

Dim i as long
Dim valeur As String
valeur¬tivecell.value
For i = 500 to 10 step-1
with Cells(i,1)
if .value<>valeur then
valeur=.value
.entirerow.insert
end if
next i


'lSteph


Bonjour,

On vous l'a dit et répété...
;-) pour ceux à qui on l'a déjà dit et répété
Cell
ce mot Cell
est un mot
Ré.ser.vé



Dim c As Range
Dim valeur As String


Set Cell = Range("A10")
valeur = ActiveCell.Value
For Each c In Range("a10,a500")
If c.Value <> valeur Then
valeur = c.Value
c.EntireRow.Insert
End If
Next c

'lSteph

Bonjour à tous,

J'ai un petit probléme de conception pour faire une boucle en VBA.
Voici mon probléme :

Je souhaite balayer la colonne A (de la ligne 10 à 500) et inserer une
ligne vierge chaque fois que la valeur de la cellule A(n) est
différente de la valeur de la cellule A(n+1). Donc j'ai écris ce bout
de code et le curseur ne se déplace pas.... je ne trouve pas mon
erreur, pouvez vous m'aider

Dim Cell As Range
Dim valeur As String


Set Cell = Range("A10")
valeur = ActiveCell.Value

For Each Cell In Range("a10,a500")
If Cell.Value <> valeur Then
valeur = Cell.Value
Cell.EntireRow.Insert
End If
Next Cell


Par avance, merci

Verdi33




Avatar
LSteph
re oupsss, et grrr...
j'ai oublié le end with et en plus valeur n'a pas besoin d'activecell


Dim i as long

For i = 500 to 10 step-1
with Cells(i,1)
if .value<>.offset(-1,0) then
.entirerow.insert
end if
end with
next i


..oupss en plus faudrait boucler en remontant...

Dim i as long
Dim valeur As String
valeur¬tivecell.value
For i = 500 to 10 step-1
with Cells(i,1)
if .value<>valeur then
valeur=.value
.entirerow.insert
end if
next i


'lSteph


Bonjour,

On vous l'a dit et répété...
;-) pour ceux à qui on l'a déjà dit et répété
Cell
ce mot Cell
est un mot
Ré.ser.vé



Dim c As Range
Dim valeur As String


Set Cell = Range("A10")
valeur = ActiveCell.Value
For Each c In Range("a10,a500")
If c.Value <> valeur Then
valeur = c.Value
c.EntireRow.Insert
End If
Next c

'lSteph

Bonjour à tous,

J'ai un petit probléme de conception pour faire une boucle en VBA.
Voici mon probléme :

Je souhaite balayer la colonne A (de la ligne 10 à 500) et inserer
une ligne vierge chaque fois que la valeur de la cellule A(n) est
différente de la valeur de la cellule A(n+1). Donc j'ai écris ce bout
de code et le curseur ne se déplace pas.... je ne trouve pas mon
erreur, pouvez vous m'aider

Dim Cell As Range
Dim valeur As String


Set Cell = Range("A10")
valeur = ActiveCell.Value

For Each Cell In Range("a10,a500")
If Cell.Value <> valeur Then
valeur = Cell.Value
Cell.EntireRow.Insert
End If
Next Cell


Par avance, merci

Verdi33






Avatar
Jacky
Hé hééé
;o))
re oupsss, et grrr...
j'ai oublié le end with ......
;o))

Et contrôler les blancs ???

--
Salutations
JJ


"LSteph" a écrit dans le message de news:
OnJ%
re oupsss, et grrr...
j'ai oublié le end with et en plus valeur n'a pas besoin d'activecell


Dim i as long

For i = 500 to 10 step-1
with Cells(i,1)
if .value<>.offset(-1,0) then
.entirerow.insert
end if
end with
next i


..oupss en plus faudrait boucler en remontant...

Dim i as long
Dim valeur As String
valeur¬tivecell.value
For i = 500 to 10 step-1
with Cells(i,1)
if .value<>valeur then
valeur=.value
.entirerow.insert
end if
next i


'lSteph


Bonjour,

On vous l'a dit et répété...
;-) pour ceux à qui on l'a déjà dit et répété
Cell
ce mot Cell
est un mot
Ré.ser.vé



Dim c As Range
Dim valeur As String


Set Cell = Range("A10")
valeur = ActiveCell.Value
For Each c In Range("a10,a500")
If c.Value <> valeur Then
valeur = c.Value
c.EntireRow.Insert
End If
Next c

'lSteph

Bonjour à tous,

J'ai un petit probléme de conception pour faire une boucle en VBA.
Voici mon probléme :

Je souhaite balayer la colonne A (de la ligne 10 à 500) et inserer une
ligne vierge chaque fois que la valeur de la cellule A(n) est
différente de la valeur de la cellule A(n+1). Donc j'ai écris ce bout
de code et le curseur ne se déplace pas.... je ne trouve pas mon
erreur, pouvez vous m'aider

Dim Cell As Range
Dim valeur As String


Set Cell = Range("A10")
valeur = ActiveCell.Value

For Each Cell In Range("a10,a500")
If Cell.Value <> valeur Then
valeur = Cell.Value
Cell.EntireRow.Insert
End If
Next Cell


Par avance, merci

Verdi33








Avatar
LSteph
Raciste!

Hé hééé
;o))
re oupsss, et grrr...
j'ai oublié le end with ......
;o))

Et contrôler les blancs ???




Avatar
Modeste
Bonsour® LSteph avec ferveur ;o))) vous nous disiez :

On vous l'a dit et répété...
;-) pour ceux à qui on l'a déjà dit et répété
Cell
ce mot Cell
est un mot
Ré.ser.vé


NON !!! NON !!!
Fred l'a encore re-dit il y a deux jours !!!!
Absolument pas. Ni le mot 'cellule' ni le mot 'cell' ne sont des mots clés
réservés du langage VBA ! (Alors que Cells l'est)
Attention de ne pas véhiculer trop d'idées reçues non vérifiées ... elles sont
archivées comme les autres et peuvent induire les utilisateurs en erreur pendant
des années !..



--
--
@+
;o)))

1 2