|
|
|
|
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.
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 le respect n'est pas un dû il se merite |