VBA Excel

MartinSchmit -  
 MartinSchmit -
Bonjour,

j'essaie de faire une macro, mais ca plante. En faite j'ai une liste de nom dans la premiere colonne mais separées par plusieurs lignes vides, j'aimerai que dans ces lignes vide le nom de dessus s'y copie mais j'y arrive pas. J'ai besoin d'aide!

S'il vous plait

Voila le debut de mon code, j'ai essayé de le faire deja pour une personne, il faudra que je mette au point une boucle plus tard.

If Range("A8").Value = "1. Martin Schmit" Then

Range("A8").Select
ligne = ActiveCell.Row
While Range("A" & ligne).Value = ""
DoEvents
ligne = (ligne + 1)
Wend

Selection.AutoFill Destination:=Range("A8:A & ligne"), Type:=xlFillDefault
Range("A8:A" & ligne).Select

Else
Range("B8").Select

End If

4 réponses

michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Bonsoir,

Je suppose que A8 devrait évoluer vers autre chose passé ce problème ? sinon lig=9 et col=1... ?

essaies:
Dim valeur as string
dim lig as long
dim col as byte

application.screenupdating=True
valeur = "zaza"

If Range("A8") = valeur Then
lig = Range("A8").Row + 1
col = Range("A8").Column
While Cells(lig, col) = ""
Cells(lig, col) = valeur
lig = lig + 1
Wend
End If

Bonne continuation
Michel
0
gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   4 730
 
bonjour
.

Si j'ai compris ce que tu veux faire, ceci devrait fonctionner pour tout ton fichier
Public Sub remplir_vides()
Dim ligne As Double
For ligne = 2 To ActiveSheet.UsedRange.Rows.Count
    If Range("A" & ligne).Value = "" Then
        Range("A" & ligne).Value = Range("A" & ligne - 1).Value
    End If
Next ligne
End Sub
0
LatelyGeek Messages postés 1774 Date d'inscription   Statut Membre Dernière intervention   550
 
J'avais posté une autre réponse juste après mais je pense que celle ci convient très bien. Alors je l'enlève!
0
MartinSchmit
 
merci beaucoup
0