[VBA]Macro excel

Benkill Messages postés 2 Statut Membre -  
Benkill Messages postés 2 Statut Membre -
Bonjour,

J'ai besoin de réaliser une macro excel spécifique en VBA mais il me manque pas mal de base c'est pourquoi j'ai besoin de votre aide :)

Mon fichier a uniquement la première colonne de remplie.
Je cherche a faire une macro qui parcour cette colonne jusqua trouvé une ligne contenant "commentaires :" et qui fait une concatenation des ligne se trouvant en dessous jusqu'a la prochaine ligne vide.

Voici en gros l'algorithme:

ligne = 0

Repeter
ligne ++
Si ligne = "commentaires :"
Repeter
ligne ++
concatener ligne avec ligne+1
Jusqu'a ligne = ""
FinSi
Jusqu'a fin du fichier

J'ai des base en VB.NET mais je ne connais absolument pas les syntaxes VBA

Si vous connaisser un petit script réalisant cette action ça m'aiderais bien.

Merci.

2 réponses

  1. G.David Messages postés 790 Statut Membre 203
     
    Sub commentaires()
    fin = Range("a65535").End(xlUp).Row 'trouve la derniere ligne ecrite de  la colonne
    For t = 1 To fin
    
    If Cells(t, 1).Value = "commentaire" Then ' test la valeur si commentaire
    t = t + 1           't s'incremente de 1
    While Cells(t, 1) <> ""    'tant  que la valeur de la cellul dans la colonne n'est pas vide
    mot = mot & Cells(t, 1).Value   'mot prend sa valeur plus la valeur suivante concatenation brut sans espace une cellule contenant le chr$(32) n'est pas vide
    t = t + 1    'on passe a la valeur suivant
    Wend
    Range("b" & t - 1).Value = mot    'une cellul vide on ecrit en colonne b le commentaire sur la dernier ligne des commentaire
    mot = ""   'on vide mot
    End If       ' fin de test
    Next t      ' on boucle juqu'a la valeur fin
    End Sub


    ceci et a mettre dans un module
    Alt F11 clic droit sur le classeur insertion module
    coredialement
    G.David
    2
  2. Benkill Messages postés 2 Statut Membre
     
    Merci pour ton script sa marche nikel :)
    Mais juste une petite modification, si on ne cherche pas une cellule contenant "commentaire" mais commencant par "commentaire", est ce que c'est réalisable ? (en prenant cette ligne en compte dans la concatenation)
    0