VBA Excel

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
Configuration: Windows XP
Internet Explorer 7.0

4 réponses

  1. 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
    1. Contributeur
      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
      1. Contributeur
        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