Macro pour repeter une phrase
yg_be Messages postés 24281 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour la team,
J'ai un fichier excel et un autre word pour faire du publipostage.
Sauf qu'il me faut une macro, j'ai pas reussi avec les formules excels.
J'aimerais lorsque un siren se repète cela ne crée pas un nouveau word mais que la phrase présente colonne G se répète à la suite.
Par exemple j'ai le même SIREN ligne 2 et 3, je veux que dans mon word pour ce siren il y' ait 2 phrases (pour les 2 comptes).
Désolé j'ai pas pu telecharger le fichier.
Merci !
- Macro pour repeter une phrase
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Vérifier si une phrase est correcte - Accueil - Google
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Url dans une phrase - Guide
- Jitbit macro recorder - Télécharger - Confidentialité
3 réponses
bonjour,
si j'étais toi, je ferais une macro qui adapte le fichier Excel avant de faire appel à Word.
Bonjour yg_be,
justement mais mon niveau est pas top top pour faire la macro raison pour laquelle je viens demander l’aide des experts
Bonsoir yg_be,
Ci-joint le lien de l'excel : https://www.cjoint.com/c/NDqsYi3MQ7w
Et le word : https://www.cjoint.com/c/NDqsZQKLS5w
Merci beaucoup
Le code ci-dessous va mettre les valeurs souhaitées dans une autre feuille du même classeur.
Option Explicit
Const c_siren As String = "a"
Const c_phrase As Integer = 10 'numéro de la colonne phrase, partant de la colonne siren
Const c_src As String = "Feuil1"
Const c_dest As String = "pub"
Sub cat_siren()
Dim clsrc As Range, fsrc As Worksheet, fdest As Worksheet, psiren As String, cldest As Range
Set fsrc = ThisWorkbook.Sheets(c_src)
Set fdest = ThisWorkbook.Sheets(c_dest)
Set clsrc = fsrc.Cells(2, c_siren)
Set cldest = fdest.Cells(2, 1)
psiren = ""
Do While clsrc <> ""
If clsrc = psiren Then
cldest.Offset(-1, 1) = cldest.Offset(-1, 1) & vbCrLf & clsrc.Offset(, c_phrase)
Else
psiren = clsrc
cldest = clsrc
cldest.Offset(, 1) = clsrc.Offset(, c_phrase)
Set cldest = cldest.Offset(1)
End If
Set clsrc = clsrc.Offset(1)
Loop
End Sub
Tu peux ajuster les valeurs des lignes 2 à 5 pour spécifier les noms de feuilles et les colonnes à traiter.

