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

Recopie automatique vers le bas

3 réponses
Avatar
Le Youki ...
Bonjour à tous,
cette question a sans doute été souvent posée sur le forum mais je ne
suis pas arrivé à trouver une solution qui réponde exactement à mon
problème: ma feuille de calcul se présente ainsi:

A B
1 10 toto
2
3
4 11
5 titi
.
. 12
.
30 13
.
50 tata

par une macro, je voudrais recopier vers le bas le contenu des colonnes
A & B tant qu'elles sont vides et quand on rencontre une nouvelle
valeur la prendre et à nouveau la copier vers le bas, etc ... jusqu'au
bas de la feuille.

D'avance merci de vos réponses, cordialement,

Le Youki ...

3 réponses

Avatar
ST
Une petite macro en VB s' impose du genre

Sub recopie()
Dim I As Integer, J As Integer
Dim val_I As String, val_J As String
J = Cells.SpecialCells(xlCellTypeLastCell).Row
For I = 1 To J
If Range("A" & I).Value <> "" Then
val_I = Range("A" & I).Value
Else
Range("A" & I).Value = val_I
End If
If Range("B" & I).Value <> "" Then
val_J = Range("B" & I).Value
Else
Range("B" & I).Value = val_J
End If
Next I
End Sub

Cette macro vérifie le contenu de chaque cellule et le copie dans une
variable si la cellule n'est pas vide.
Ensuite, le contenu de la variable est insérée dans chaque cellule si
celle-ci est vide.

Tu vas certainement devoir adapter la macro car je pense que le résultat ne
te conviendra pas pour la ligne 4 de ton fichier exemple car ma macro va
coller toto dans la cellule B4

Bon courage

ST



"Le Youki ..." a écrit dans le message de
news:
Bonjour à tous,
cette question a sans doute été souvent posée sur le forum mais je ne
suis pas arrivé à trouver une solution qui réponde exactement à mon
problème: ma feuille de calcul se présente ainsi:

A B
1 10 toto
2
3
4 11
5 titi
.
. 12
.
30 13
.
50 tata

par une macro, je voudrais recopier vers le bas le contenu des colonnes
A & B tant qu'elles sont vides et quand on rencontre une nouvelle
valeur la prendre et à nouveau la copier vers le bas, etc ... jusqu'au
bas de la feuille.

D'avance merci de vos réponses, cordialement,

Le Youki ...




Avatar
JCR
Bonjour,

Après avoir sélectionné la zone concernée, exécute cette macro.

Sub Macro1()

Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.FormulaR1C1 = "=+R[-1]C"
Selection.CurrentRegion.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=
_
False, Transpose:úlse
End Sub

Attention pour pouvoir ensuite trier les lignes la macro fait un copier,
collage spécial de la zone entière.

"Le Youki ..." a écrit dans le message de news:

Bonjour à tous,
cette question a sans doute été souvent posée sur le forum mais je ne suis
pas arrivé à trouver une solution qui réponde exactement à mon problème:
ma feuille de calcul se présente ainsi:

A B
1 10 toto
2
3
4 11
5 titi
.
. 12
.
30 13
.
50 tata

par une macro, je voudrais recopier vers le bas le contenu des colonnes A
& B tant qu'elles sont vides et quand on rencontre une nouvelle valeur la
prendre et à nouveau la copier vers le bas, etc ... jusqu'au bas de la
feuille.

D'avance merci de vos réponses, cordialement,

Le Youki ...




Avatar
Le Youki ...
Ca y est ... j'ai trouvé ...
C'est assez basique mais ça marche ...
Merci de votre aide ...

Le Youki ...

Sub Completer()

For ligne = 1 To 1000
For colonne = 1 To 3
If IsEmpty(Cells(ligne, colonne)) Then Cells(ligne, colonne) =
Cells(ligne - 1, colonne)
Next colonne
Next ligne
End Sub

Le Youki ... a présenté l'énoncé suivant :
Bonjour à tous,
cette question a sans doute été souvent posée sur le forum mais je ne suis
pas arrivé à trouver une solution qui réponde exactement à mon problème: ma
feuille de calcul se présente ainsi:

A B
1 10 toto
2
3
4 11
5 titi
.
. 12
.
30 13
.
50 tata

par une macro, je voudrais recopier vers le bas le contenu des colonnes A & B
tant qu'elles sont vides et quand on rencontre une nouvelle valeur la prendre
et à nouveau la copier vers le bas, etc ... jusqu'au bas de la feuille.

D'avance merci de vos réponses, cordialement,

Le Youki ...