[VBA]Macro excel
Benkill
Messages postés
2
Statut
Membre
-
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.
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.
A voir également:
- [VBA]Macro excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
2 réponses
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