OVH Cloud OVH Cloud

[NEWBIE] Macro, parcours d'un tableau

2 réponses
Avatar
JP
Bonjour à tous,
je suis complètement newbie en macro excel, d'où la question :
je voudrais faire un bout de code qui :
- parcours mon classeur (toutes les lignes existantes/renseignées je veux
dire)
- insère une nvlle ligne en dessous de chacune
- après, j'ai des infos à mettre, mais je me débrouillerais

Donc, question 1, comment parcourir mon classeur ?

Merci pour votre aide,

JP

2 réponses

Avatar
Daniel
Bonjour.
Le macro suivante suppose que toutes les cellules de la colonne A son
renseignées (sans cellule vide) :
La colonne A est représentée par le 1 de Cells(Ctr, 1)
Sub test()
Dim Ctr As Long
Ctr = 2
Do While Cells(Ctr, 1) <> ""
Cells(Ctr, 1).EntireRow.Insert
Ctr = Ctr + 2
Loop
End Sub

Cordialement.
Daniel
"JP" a écrit dans le message de news:
45793998$0$25922$
Bonjour à tous,
je suis complètement newbie en macro excel, d'où la question :
je voudrais faire un bout de code qui :
- parcours mon classeur (toutes les lignes existantes/renseignées je veux
dire)
- insère une nvlle ligne en dessous de chacune
- après, j'ai des infos à mettre, mais je me débrouillerais

Donc, question 1, comment parcourir mon classeur ?

Merci pour votre aide,

JP



Avatar
JP
J'ai réussi, comme un grand !!!


Sub Macro2()

Dim I, J As Integer

While Not IsEmpty(ActiveCell)
' Se place sur la bonne ligne
I = I + 2
J = I + 1

' Contrôle de la ligne
If Cells.Range("A" & J).Value = "'L" Then
' Selectionne toute la ligne
Cells(I, 1).Activate
Rows(J & ":" & J).Select

' Insère une nvlle ligne
Selection.Insert Shift:=xlDown

' Met à jour la ligne
Cells.Range("A" & J).Value = "'S"
Cells.Range("B" & J).Value = "'STOCK"

' Copie le statut
Cells.Range("C" & J).Value = Cells.Range("C" & I).Value
End If

Wend

End Sub