VBA excel : Regrouper données texte de plusieurs cellules dans un seule cellule

  • Initiateur de la discussion Initiateur de la discussion debidebo67
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

debidebo67

XLDnaute Nouveau
Bonjour,

j'ai réussi à faire ma macro pour une ligne, pour voir si elle fonctionne.😀
Ensuite j'ai essayé de mettre en place une variable pour qu'elle s'applique à toutes les lignes !
et là ça marche pas 😕 :
(Colonne H = 7 ; G =7 ; H = 8; I = 9)

Sub essaimacro()

Dim i As Integer
i = 5
Worksheets("tableau 1").Range("P5😛1000").ClearContents
Application.ScreenUpdating = False

If Cells(7, i) = "" Then
Cells(i, 16).Value = Cells(6, i) & " - " & Cells(8, i) & " - " & Cells(9, i)
ElseIf Range(8, i) & Cells(9, i) = "" Then
Cells(i, 16).Value = Cells(6, i) & " - " & Cells(7, i)
ElseIf Cells(8, i) = "" Then
Cells(i, 16).Value = Cells(6, i) & " - " & Cells(7, i) & " - " & Cells(9, i)
ElseIf Cells(7, i) & Cells(8, i) = "" Then
Cells(i, 16).Value = Cells(6, i) & " - " & Cells(9, i)
Else
Cells(i, 16).Value = Cells(6, i) & " - " & Cells(7, i) & " - " & Cells(8, i) & " - " & Cells(9, i)
i = i + 1
End If

Application.ScreenUpdating = True
End Sub

pourriez-vous m'aider sur l'erreur SVP ?

Merci d'avance
 

Pièces jointes

Re : VBA excel : Regrouper données texte de plusieurs cellules dans un seule cellule

Bonjour debidebo,
Il faudrait que tu utilise une boucle :

Code:
Sub essaimacro()

Dim i As Integer
i = 5
Worksheets("tableau 1").Range("P5:P1000").ClearContents
Application.ScreenUpdating = False

for i = 5 to 1000
If Cells(7, i) = "" Then
Cells(i, 16).Value = Cells(6, i) & " - " & Cells(8, i) & " - " & Cells(9, i) 
ElseIf Range(8, i) & Cells(9, i) = "" Then
Cells(i, 16).Value = Cells(6, i) & " - " & Cells(7, i) 
ElseIf Cells(8, i) = "" Then
Cells(i, 16).Value = Cells(6, i) & " - " & Cells(7, i) & " - " & Cells(9, i) 
ElseIf Cells(7, i) & Cells(8, i) = "" Then
Cells(i, 16).Value = Cells(6, i) & " - " & Cells(9, i) 
Else
Cells(i, 16).Value = Cells(6, i) & " - " & Cells(7, i) & " - " & Cells(8, i) & " - " & Cells(9, i)
End If
Next i

Application.ScreenUpdating = True
End Sub
 
Re : VBA excel : Regrouper données texte de plusieurs cellules dans un seule cellule

Oui il faut rajouter le for i = 5 to 1000 avant ton premier if,
et next i à la fin de tes if.
Cela créera une boucle qui tournera jusqu'à ce que i est atteint 1000.
 
Re : VBA excel : Regrouper données texte de plusieurs cellules dans un seule cellule

ci joint le fichier avec la macro
 

Pièces jointes

Re : VBA excel : Regrouper données texte de plusieurs cellules dans un seule cellule

ok merci beaucoup, 😀

pour information j'avais inversé les lignes et les colonnes la bonne macro est la suivante (pour ceux qui voudront s'inspirer de la discutions pour leurs projets) :

Sub essaimacroboucle()

Dim i As Integer
i = 5
Worksheets("tableau 1").Range("P5😛1000").ClearContents
Application.ScreenUpdating = False

For i = 5 To 1000

If Cells(7, i) = "" Then
Cells(i, 16).Value = Cells(i, 6) & " - " & Cells(i, 8) & " - " & Cells(i, 9)

ElseIf Cells(i, 8) & Cells(i, 9) = "" Then
Cells(i, 16).Value = Cells(i, 6) & " - " & Cells(i, 7)

ElseIf Cells(i, 8) = "" Then
Cells(i, 16).Value = Cells(i, 6) & " - " & Cells(i, 7) & " - " & Cells(i, 9)

ElseIf Cells(i, 7) & Cells(i, 8) = "" Then
Cells(i, 16).Value = Cells(i, 6) & " - " & Cells(i, 9)

Else
Cells(i, 16).Value = Cells(i, 6) & " - " & Cells(i, 7) & " - " & Cells(i, 8) & " - " & Cells(i, 9)
i = i + 1
End If
Next i
End Sub
 
Re : VBA excel : Regrouper données texte de plusieurs cellules dans un seule cellule

Content que ça marche 😛
Par contre les lignes i = 5 et i = i +1 sont devenues inutiles.
L'initialisation de la variable est faite avec for i = 5, et l'incrémentation avec Next i.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
177
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
169
Retour