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