VBA Excel

Fermé
MartinSchmit - 28 févr. 2008 à 18:02
 MartinSchmit - 28 févr. 2008 à 20:48
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
A voir également:

4 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
28 févr. 2008 à 19:13
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 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 685
28 févr. 2008 à 19:22
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 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
28 févr. 2008 à 19:24
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
merci beaucoup
0