Je cherche à concaténer en VBA une liste de mots présente sur la plage
D2:D29 et placer le résultats sur une autre feuille dans une cellule
précise (qui change en cours de macro).
J'ai écrit ceci:
------------------------
Sheets("Feuil1)
liste = ""
For q = 2 To 29
liste = Cells[4,q] & ", "
Next q
m = m + 28
Sheets("Feuil2").Select
Cells(m, 2) = liste
-------------------------
Il ne fait pas la concaténation et annonce en plus une erreur sur la feuil2
Merci de me prêter quelques-uns de vos neurones :-)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel.C
Bonjour. Mets : Sheets("Feuil1") au lieu de : Sheets("Feuil1) et liste = Cells[q,4] & ", " au lieu de : liste = Cells[4,q] & ", " Par contre, tu ne devrais pas avoir d'erreur. Sur quelle ligne se produit l'erreur et quel est le message ? "Pierre F." a écrit dans le message de news: c87a7$4873819e$55da2ea5$
Bonjour à toutes et tous!
Je cherche à concaténer en VBA une liste de mots présente sur la plage D2:D29 et placer le résultats sur une autre feuille dans une cellule précise (qui change en cours de macro).
J'ai écrit ceci: ------------------------ Sheets("Feuil1) liste = "" For q = 2 To 29 liste = Cells[4,q] & ", " Next q
m = m + 28
Sheets("Feuil2").Select Cells(m, 2) = liste -------------------------
Il ne fait pas la concaténation et annonce en plus une erreur sur la feuil2
Merci de me prêter quelques-uns de vos neurones :-)
Cordialement, Pierre F.
Bonjour.
Mets :
Sheets("Feuil1")
au lieu de :
Sheets("Feuil1)
et
liste = Cells[q,4] & ", "
au lieu de :
liste = Cells[4,q] & ", "
Par contre, tu ne devrais pas avoir d'erreur. Sur quelle ligne se produit
l'erreur et quel est le message ?
"Pierre F." <pfornerodNO@SPAMhotmail.com> a écrit dans le message de news:
c87a7$4873819e$55da2ea5$2073@news.hispeed.ch...
Bonjour à toutes et tous!
Je cherche à concaténer en VBA une liste de mots présente sur la plage
D2:D29 et placer le résultats sur une autre feuille dans une cellule
précise (qui change en cours de macro).
J'ai écrit ceci:
------------------------
Sheets("Feuil1)
liste = ""
For q = 2 To 29
liste = Cells[4,q] & ", "
Next q
m = m + 28
Sheets("Feuil2").Select
Cells(m, 2) = liste
-------------------------
Il ne fait pas la concaténation et annonce en plus une erreur sur la
feuil2
Merci de me prêter quelques-uns de vos neurones :-)
Bonjour. Mets : Sheets("Feuil1") au lieu de : Sheets("Feuil1) et liste = Cells[q,4] & ", " au lieu de : liste = Cells[4,q] & ", " Par contre, tu ne devrais pas avoir d'erreur. Sur quelle ligne se produit l'erreur et quel est le message ? "Pierre F." a écrit dans le message de news: c87a7$4873819e$55da2ea5$
Bonjour à toutes et tous!
Je cherche à concaténer en VBA une liste de mots présente sur la plage D2:D29 et placer le résultats sur une autre feuille dans une cellule précise (qui change en cours de macro).
J'ai écrit ceci: ------------------------ Sheets("Feuil1) liste = "" For q = 2 To 29 liste = Cells[4,q] & ", " Next q
m = m + 28
Sheets("Feuil2").Select Cells(m, 2) = liste -------------------------
Il ne fait pas la concaténation et annonce en plus une erreur sur la feuil2
Merci de me prêter quelques-uns de vos neurones :-)
Cordialement, Pierre F.
Francis SLAWNY
Y a quelques erreurs dans ta macro. Essaie ça :
Sub essai() Sheets("Feuil1").Select liste = Cells(4, 2) For q = 3 To 29 liste = liste & "," & Cells(4, q) Next q 'm = m + 28
Sheets("Feuil2").Select Cells(1, 2) = liste End Sub
Et adapte à tes besions
FS
"Pierre F." a écrit dans le message de news: c87a7$4873819e$55da2ea5$
Bonjour à toutes et tous!
Je cherche à concaténer en VBA une liste de mots présente sur la plage D2:D29 et placer le résultats sur une autre feuille dans une cellule précise (qui change en cours de macro).
J'ai écrit ceci: ------------------------ Sheets("Feuil1) liste = "" For q = 2 To 29 liste = Cells[4,q] & ", " Next q
m = m + 28
Sheets("Feuil2").Select Cells(m, 2) = liste -------------------------
Il ne fait pas la concaténation et annonce en plus une erreur sur la feuil2
Merci de me prêter quelques-uns de vos neurones :-)
Cordialement, Pierre F.
Y a quelques erreurs dans ta macro.
Essaie ça :
Sub essai()
Sheets("Feuil1").Select
liste = Cells(4, 2)
For q = 3 To 29
liste = liste & "," & Cells(4, q)
Next q
'm = m + 28
Sheets("Feuil2").Select
Cells(1, 2) = liste
End Sub
Et adapte à tes besions
FS
"Pierre F." <pfornerodNO@SPAMhotmail.com> a écrit dans le message de news:
c87a7$4873819e$55da2ea5$2073@news.hispeed.ch...
Bonjour à toutes et tous!
Je cherche à concaténer en VBA une liste de mots présente sur la plage
D2:D29 et placer le résultats sur une autre feuille dans une cellule
précise (qui change en cours de macro).
J'ai écrit ceci:
------------------------
Sheets("Feuil1)
liste = ""
For q = 2 To 29
liste = Cells[4,q] & ", "
Next q
m = m + 28
Sheets("Feuil2").Select
Cells(m, 2) = liste
-------------------------
Il ne fait pas la concaténation et annonce en plus une erreur sur la
feuil2
Merci de me prêter quelques-uns de vos neurones :-)
Sub essai() Sheets("Feuil1").Select liste = Cells(4, 2) For q = 3 To 29 liste = liste & "," & Cells(4, q) Next q 'm = m + 28
Sheets("Feuil2").Select Cells(1, 2) = liste End Sub
Et adapte à tes besions
FS
"Pierre F." a écrit dans le message de news: c87a7$4873819e$55da2ea5$
Bonjour à toutes et tous!
Je cherche à concaténer en VBA une liste de mots présente sur la plage D2:D29 et placer le résultats sur une autre feuille dans une cellule précise (qui change en cours de macro).
J'ai écrit ceci: ------------------------ Sheets("Feuil1) liste = "" For q = 2 To 29 liste = Cells[4,q] & ", " Next q
m = m + 28
Sheets("Feuil2").Select Cells(m, 2) = liste -------------------------
Il ne fait pas la concaténation et annonce en plus une erreur sur la feuil2
Merci de me prêter quelques-uns de vos neurones :-)
Cordialement, Pierre F.
Francis SLAWNY
Je n'avais pas remarqué mais si tes cellules à concaténer sont en colonne c'est cells(q,4) et pas (4,q) qui, lui, concatene les cellules de la ligne.
"Francis SLAWNY" a écrit dans le message de news:
Y a quelques erreurs dans ta macro. Essaie ça :
Sub essai() Sheets("Feuil1").Select liste = Cells(4, 2) For q = 3 To 29 liste = liste & "," & Cells(4, q) Next q 'm = m + 28
Sheets("Feuil2").Select Cells(1, 2) = liste End Sub
Et adapte à tes besions
FS
"Pierre F." a écrit dans le message de news: c87a7$4873819e$55da2ea5$
Bonjour à toutes et tous!
Je cherche à concaténer en VBA une liste de mots présente sur la plage D2:D29 et placer le résultats sur une autre feuille dans une cellule précise (qui change en cours de macro).
J'ai écrit ceci: ------------------------ Sheets("Feuil1) liste = "" For q = 2 To 29 liste = Cells[4,q] & ", " Next q
m = m + 28
Sheets("Feuil2").Select Cells(m, 2) = liste -------------------------
Il ne fait pas la concaténation et annonce en plus une erreur sur la feuil2
Merci de me prêter quelques-uns de vos neurones :-)
Cordialement, Pierre F.
Je n'avais pas remarqué mais si tes cellules à concaténer sont en colonne
c'est cells(q,4) et pas (4,q) qui, lui, concatene les cellules de la ligne.
"Francis SLAWNY" <slawny.francis@laposte.net> a écrit dans le message de
news: efdwjDR4IHA.4448@TK2MSFTNGP05.phx.gbl...
Y a quelques erreurs dans ta macro.
Essaie ça :
Sub essai()
Sheets("Feuil1").Select
liste = Cells(4, 2)
For q = 3 To 29
liste = liste & "," & Cells(4, q)
Next q
'm = m + 28
Sheets("Feuil2").Select
Cells(1, 2) = liste
End Sub
Et adapte à tes besions
FS
"Pierre F." <pfornerodNO@SPAMhotmail.com> a écrit dans le message de news:
c87a7$4873819e$55da2ea5$2073@news.hispeed.ch...
Bonjour à toutes et tous!
Je cherche à concaténer en VBA une liste de mots présente sur la plage
D2:D29 et placer le résultats sur une autre feuille dans une cellule
précise (qui change en cours de macro).
J'ai écrit ceci:
------------------------
Sheets("Feuil1)
liste = ""
For q = 2 To 29
liste = Cells[4,q] & ", "
Next q
m = m + 28
Sheets("Feuil2").Select
Cells(m, 2) = liste
-------------------------
Il ne fait pas la concaténation et annonce en plus une erreur sur la
feuil2
Merci de me prêter quelques-uns de vos neurones :-)
Je n'avais pas remarqué mais si tes cellules à concaténer sont en colonne c'est cells(q,4) et pas (4,q) qui, lui, concatene les cellules de la ligne.
"Francis SLAWNY" a écrit dans le message de news:
Y a quelques erreurs dans ta macro. Essaie ça :
Sub essai() Sheets("Feuil1").Select liste = Cells(4, 2) For q = 3 To 29 liste = liste & "," & Cells(4, q) Next q 'm = m + 28
Sheets("Feuil2").Select Cells(1, 2) = liste End Sub
Et adapte à tes besions
FS
"Pierre F." a écrit dans le message de news: c87a7$4873819e$55da2ea5$
Bonjour à toutes et tous!
Je cherche à concaténer en VBA une liste de mots présente sur la plage D2:D29 et placer le résultats sur une autre feuille dans une cellule précise (qui change en cours de macro).
J'ai écrit ceci: ------------------------ Sheets("Feuil1) liste = "" For q = 2 To 29 liste = Cells[4,q] & ", " Next q
m = m + 28
Sheets("Feuil2").Select Cells(m, 2) = liste -------------------------
Il ne fait pas la concaténation et annonce en plus une erreur sur la feuil2
Merci de me prêter quelques-uns de vos neurones :-)
Cordialement, Pierre F.
ChrisV
Bonjour Pierre,
liste = Sheets("Feuil1").[D2] For q = 3 To 29 liste = liste & "," & Sheets("Feuil1").Cells(q, 4).Value Next q m = m + 28 Sheets("Feuil2").Cells(m, 2) = liste
ChrisV
"Pierre F." a écrit dans le message de news: c87a7$4873819e$55da2ea5$
Bonjour à toutes et tous!
Je cherche à concaténer en VBA une liste de mots présente sur la plage D2:D29 et placer le résultats sur une autre feuille dans une cellule précise (qui change en cours de macro).
J'ai écrit ceci: ------------------------ Sheets("Feuil1) liste = "" For q = 2 To 29 liste = Cells[4,q] & ", " Next q
m = m + 28
Sheets("Feuil2").Select Cells(m, 2) = liste -------------------------
Il ne fait pas la concaténation et annonce en plus une erreur sur la feuil2
Merci de me prêter quelques-uns de vos neurones :-)
Cordialement, Pierre F.
Bonjour Pierre,
liste = Sheets("Feuil1").[D2]
For q = 3 To 29
liste = liste & "," & Sheets("Feuil1").Cells(q, 4).Value
Next q
m = m + 28
Sheets("Feuil2").Cells(m, 2) = liste
ChrisV
"Pierre F." <pfornerodNO@SPAMhotmail.com> a écrit dans le message de news:
c87a7$4873819e$55da2ea5$2073@news.hispeed.ch...
Bonjour à toutes et tous!
Je cherche à concaténer en VBA une liste de mots présente sur la plage
D2:D29 et placer le résultats sur une autre feuille dans une cellule
précise (qui change en cours de macro).
J'ai écrit ceci:
------------------------
Sheets("Feuil1)
liste = ""
For q = 2 To 29
liste = Cells[4,q] & ", "
Next q
m = m + 28
Sheets("Feuil2").Select
Cells(m, 2) = liste
-------------------------
Il ne fait pas la concaténation et annonce en plus une erreur sur la
feuil2
Merci de me prêter quelques-uns de vos neurones :-)
liste = Sheets("Feuil1").[D2] For q = 3 To 29 liste = liste & "," & Sheets("Feuil1").Cells(q, 4).Value Next q m = m + 28 Sheets("Feuil2").Cells(m, 2) = liste
ChrisV
"Pierre F." a écrit dans le message de news: c87a7$4873819e$55da2ea5$
Bonjour à toutes et tous!
Je cherche à concaténer en VBA une liste de mots présente sur la plage D2:D29 et placer le résultats sur une autre feuille dans une cellule précise (qui change en cours de macro).
J'ai écrit ceci: ------------------------ Sheets("Feuil1) liste = "" For q = 2 To 29 liste = Cells[4,q] & ", " Next q
m = m + 28
Sheets("Feuil2").Select Cells(m, 2) = liste -------------------------
Il ne fait pas la concaténation et annonce en plus une erreur sur la feuil2
Merci de me prêter quelques-uns de vos neurones :-)
Cordialement, Pierre F.
Pierre F.
ChrisV a écrit :
liste = Sheets("Feuil1").[D2] For q = 3 To 29 liste = liste & "," & Sheets("Feuil1").Cells(q, 4).Value Next q m = m + 28 Sheets("Feuil2").Cells(m, 2) = liste
Mille mercis à tous les trois !!!
Entre les fautes d'inattention (guillemet oublié!) les parenthèses et crochets qui nécessitent une syntaxe différente..., je ne savais plus pourquoi ça buggait.
Ça fonctionne nickel maintenant!
Encore une petite question :-)
Si je veux éviter que la macro copie des cellules vides dans la plage D2:D29, quelle instruction ajouter?
if Len(cells(q,4)<1) then ?
Cordialement, Pierre F.
ChrisV a écrit :
liste = Sheets("Feuil1").[D2]
For q = 3 To 29
liste = liste & "," & Sheets("Feuil1").Cells(q, 4).Value
Next q
m = m + 28
Sheets("Feuil2").Cells(m, 2) = liste
Mille mercis à tous les trois !!!
Entre les fautes d'inattention (guillemet oublié!) les parenthèses et
crochets qui nécessitent une syntaxe différente..., je ne savais plus
pourquoi ça buggait.
Ça fonctionne nickel maintenant!
Encore une petite question :-)
Si je veux éviter que la macro copie des cellules vides dans la plage
D2:D29, quelle instruction ajouter?
liste = Sheets("Feuil1").[D2] For q = 3 To 29 liste = liste & "," & Sheets("Feuil1").Cells(q, 4).Value Next q m = m + 28 Sheets("Feuil2").Cells(m, 2) = liste
Mille mercis à tous les trois !!!
Entre les fautes d'inattention (guillemet oublié!) les parenthèses et crochets qui nécessitent une syntaxe différente..., je ne savais plus pourquoi ça buggait.
Ça fonctionne nickel maintenant!
Encore une petite question :-)
Si je veux éviter que la macro copie des cellules vides dans la plage D2:D29, quelle instruction ajouter?
if Len(cells(q,4)<1) then ?
Cordialement, Pierre F.
ChrisV
Re,
Un truc du style...
liste = Sheets("Feuil1").[D2] For q = 3 To 29 With Sheets("Feuil1").Cells(q, 4) If .Value <> "" Then liste = liste & "," & .Value End If End With Next q m = m + 28 Sheets("Feuil2").Cells(m, 2) = liste
ChrisV
"Pierre F." a écrit dans le message de news: dae3a$48739497$55da2ea5$
ChrisV a écrit :
liste = Sheets("Feuil1").[D2] For q = 3 To 29 liste = liste & "," & Sheets("Feuil1").Cells(q, 4).Value Next q m = m + 28 Sheets("Feuil2").Cells(m, 2) = liste
Mille mercis à tous les trois !!!
Entre les fautes d'inattention (guillemet oublié!) les parenthèses et crochets qui nécessitent une syntaxe différente..., je ne savais plus pourquoi ça buggait.
Ça fonctionne nickel maintenant!
Encore une petite question :-)
Si je veux éviter que la macro copie des cellules vides dans la plage D2:D29, quelle instruction ajouter?
if Len(cells(q,4)<1) then ?
Cordialement, Pierre F.
Re,
Un truc du style...
liste = Sheets("Feuil1").[D2]
For q = 3 To 29
With Sheets("Feuil1").Cells(q, 4)
If .Value <> "" Then
liste = liste & "," & .Value
End If
End With
Next q
m = m + 28
Sheets("Feuil2").Cells(m, 2) = liste
ChrisV
"Pierre F." <pfornerodNO@SPAMhotmail.com> a écrit dans le message de news:
dae3a$48739497$55da2ea5$3850@news.hispeed.ch...
ChrisV a écrit :
liste = Sheets("Feuil1").[D2]
For q = 3 To 29
liste = liste & "," & Sheets("Feuil1").Cells(q, 4).Value
Next q
m = m + 28
Sheets("Feuil2").Cells(m, 2) = liste
Mille mercis à tous les trois !!!
Entre les fautes d'inattention (guillemet oublié!) les parenthèses et
crochets qui nécessitent une syntaxe différente..., je ne savais plus
pourquoi ça buggait.
Ça fonctionne nickel maintenant!
Encore une petite question :-)
Si je veux éviter que la macro copie des cellules vides dans la plage
D2:D29, quelle instruction ajouter?
liste = Sheets("Feuil1").[D2] For q = 3 To 29 With Sheets("Feuil1").Cells(q, 4) If .Value <> "" Then liste = liste & "," & .Value End If End With Next q m = m + 28 Sheets("Feuil2").Cells(m, 2) = liste
ChrisV
"Pierre F." a écrit dans le message de news: dae3a$48739497$55da2ea5$
ChrisV a écrit :
liste = Sheets("Feuil1").[D2] For q = 3 To 29 liste = liste & "," & Sheets("Feuil1").Cells(q, 4).Value Next q m = m + 28 Sheets("Feuil2").Cells(m, 2) = liste
Mille mercis à tous les trois !!!
Entre les fautes d'inattention (guillemet oublié!) les parenthèses et crochets qui nécessitent une syntaxe différente..., je ne savais plus pourquoi ça buggait.
Ça fonctionne nickel maintenant!
Encore une petite question :-)
Si je veux éviter que la macro copie des cellules vides dans la plage D2:D29, quelle instruction ajouter?
if Len(cells(q,4)<1) then ?
Cordialement, Pierre F.
Pierre F.
ChrisV a écrit :
liste = Sheets("Feuil1").[D2] For q = 3 To 29 With Sheets("Feuil1").Cells(q, 4) If .Value <> "" Then liste = liste & "," & .Value End If End With Next q m = m + 28 Sheets("Feuil2").Cells(m, 2) = liste
Super. Merci!
Evidemment; au lieu de tester le vide, tester le non vide :-)) Je vais essayer ça sur mon cerveau :-)
Cordialement, Pierre F.
ChrisV a écrit :
liste = Sheets("Feuil1").[D2]
For q = 3 To 29
With Sheets("Feuil1").Cells(q, 4)
If .Value <> "" Then
liste = liste & "," & .Value
End If
End With
Next q
m = m + 28
Sheets("Feuil2").Cells(m, 2) = liste
Super. Merci!
Evidemment; au lieu de tester le vide, tester le non vide :-))
Je vais essayer ça sur mon cerveau :-)
liste = Sheets("Feuil1").[D2] For q = 3 To 29 With Sheets("Feuil1").Cells(q, 4) If .Value <> "" Then liste = liste & "," & .Value End If End With Next q m = m + 28 Sheets("Feuil2").Cells(m, 2) = liste
Super. Merci!
Evidemment; au lieu de tester le vide, tester le non vide :-)) Je vais essayer ça sur mon cerveau :-)