Macro vba pour concatener cellules
Résolu/Fermé
A voir également:
- Macro vba pour concatener cellules
- Concatener deux cellules excel - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Concaténer pdf - Guide
- Macro word - Guide
- Macro logiciel - Télécharger - Organisation
6 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
29 juin 2011 à 16:47
29 juin 2011 à 16:47
Bonjour
pour tenter d'^tre efficace:
=mettre un extrait du classeur sans données confidentielles en pièce jointe (format XL97-2003) sur
http://cijoint.fr/
et faire un clic droit sur le lien proposé puis "copier l'adresse du lien" et coller dans le message de réponse
pour tenter d'^tre efficace:
=mettre un extrait du classeur sans données confidentielles en pièce jointe (format XL97-2003) sur
http://cijoint.fr/
et faire un clic droit sur le lien proposé puis "copier l'adresse du lien" et coller dans le message de réponse
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
29 juin 2011 à 18:21
29 juin 2011 à 18:21
bien reçu, merci
dans le tableau "toto" est il le résultat d'une formule ou une saisie ?
m^me question pour les 2 colonnes séparant les données ?
dans le tableau "toto" est il le résultat d'une formule ou une saisie ?
m^me question pour les 2 colonnes séparant les données ?
ce sont les résultats de formules,
j'ai trouvé cette macro qui correspond à mon besoin :
Option Explicit
Sub newone()
Dim I As Integer
Dim J As Long
Dim K As Byte
Dim Lg As Long
Dim Msg As String
Dim ColDep
Dim ColFin
ColDep = Array(5, 35, 47, 50)
ColFin = Array(34, 46, 49, 61)
Lg = 4
If Range("A1") <> "" Then
Lg = Range("A" & Rows.Count).End(xlUp).Row
End If
With Sheets("Result A.R. Steering plans")
For J = 8 To .Range("A" & .Rows.Count).End(xlUp).Row
For K = 0 To UBound(ColDep)
Msg = ""
For I = ColDep(K) To ColFin(K)
If .Cells(J, I) <> "" And UCase(.Cells(J, I)) <> "OK" And UCase(.Cells(J, I)) <> "KO" Then
Msg = Msg & .Cells(J, I) & ","
End If
Next I
If Len(Msg) > 0 Then
Cells(Lg, 2 + K) = Left(Msg, Len(Msg) - 1)
End If
Next K
Lg = Lg + 1
Next J
End With
Columns("B:E").AutoFit
End Sub
Le problème est que qd je clique sur le bouton auquel cette macro est assignée, rien ne se passe ...
Help please !
j'ai trouvé cette macro qui correspond à mon besoin :
Option Explicit
Sub newone()
Dim I As Integer
Dim J As Long
Dim K As Byte
Dim Lg As Long
Dim Msg As String
Dim ColDep
Dim ColFin
ColDep = Array(5, 35, 47, 50)
ColFin = Array(34, 46, 49, 61)
Lg = 4
If Range("A1") <> "" Then
Lg = Range("A" & Rows.Count).End(xlUp).Row
End If
With Sheets("Result A.R. Steering plans")
For J = 8 To .Range("A" & .Rows.Count).End(xlUp).Row
For K = 0 To UBound(ColDep)
Msg = ""
For I = ColDep(K) To ColFin(K)
If .Cells(J, I) <> "" And UCase(.Cells(J, I)) <> "OK" And UCase(.Cells(J, I)) <> "KO" Then
Msg = Msg & .Cells(J, I) & ","
End If
Next I
If Len(Msg) > 0 Then
Cells(Lg, 2 + K) = Left(Msg, Len(Msg) - 1)
End If
Next K
Lg = Lg + 1
Next J
End With
Columns("B:E").AutoFit
End Sub
Le problème est que qd je clique sur le bouton auquel cette macro est assignée, rien ne se passe ...
Help please !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Mytå
Messages postés
2973
Date d'inscription
mardi 20 janvier 2009
Statut
Contributeur
Dernière intervention
20 décembre 2016
942
30 juin 2011 à 02:47
30 juin 2011 à 02:47
Salut le forum
Ton code fonctionne bien sur le fichier fourni, en modifiant
ColDep = Array(5, 35, 47, 50)
ColFin = Array(34, 46, 49, 61)
Sheets("Result A.R. Steering plans")
Enlever 1 aux variables de ColDep et ColFin
Modifant le nom de la feuille en Feuille 1
Mytå
Ton code fonctionne bien sur le fichier fourni, en modifiant
ColDep = Array(5, 35, 47, 50)
ColFin = Array(34, 46, 49, 61)
Sheets("Result A.R. Steering plans")
Enlever 1 aux variables de ColDep et ColFin
Modifant le nom de la feuille en Feuille 1
Mytå
Bonjour Mytå, michel
Ca ne fonctionne pas encore, j'ai créé un bouton auquel j'ai affecté la macro, mais qd je clique dessus, il ne se passe rien. On dirait que la macro tourne à vide, ou qu'elle est encore attachée à un autre fichier... Comment vérifier qu'elle récupère les données du bon fichier ?
Voici le lien où trouver une copie de mon fichier au bon format :
http://www.cijoint.fr/cjlink.php?file=cj201106/cijFGfsJFT.xlsx
Merci
Cordialement,
Pierrot
Ca ne fonctionne pas encore, j'ai créé un bouton auquel j'ai affecté la macro, mais qd je clique dessus, il ne se passe rien. On dirait que la macro tourne à vide, ou qu'elle est encore attachée à un autre fichier... Comment vérifier qu'elle récupère les données du bon fichier ?
Voici le lien où trouver une copie de mon fichier au bon format :
http://www.cijoint.fr/cjlink.php?file=cj201106/cijFGfsJFT.xlsx
Merci
Cordialement,
Pierrot
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
30 juin 2011 à 10:48
30 juin 2011 à 10:48
Il faut que ton classeur soit enregistré au format acceptant les macros
bouton office-enregistrer sous -format prenant en charge les macros
bouton office-enregistrer sous -format prenant en charge les macros
Bonjour Michel,
Je ne voyais rien car ma colonne A était vide ! La macro fonctionne sur mon fichier maintenant.
Merci beaucoup à toi et Mytå !
J'ai une autre question, je voudrais maintenant que la macro fasse le même boulot, sauf qu'au lieu d'aller chercher les infos uniquement dans la Feuille 1, elle aille les chercher dans plusieurs feuilles (4 au total, feuille 1 comprise) ! Tu me conseilles d'ouvrir un autre post ou de continuer celui-ci ?
Crdt,
Pierrot
Je ne voyais rien car ma colonne A était vide ! La macro fonctionne sur mon fichier maintenant.
Merci beaucoup à toi et Mytå !
J'ai une autre question, je voudrais maintenant que la macro fasse le même boulot, sauf qu'au lieu d'aller chercher les infos uniquement dans la Feuille 1, elle aille les chercher dans plusieurs feuilles (4 au total, feuille 1 comprise) ! Tu me conseilles d'ouvrir un autre post ou de continuer celui-ci ?
Crdt,
Pierrot