Macro ou formule pour récupérer du texte dans plusieurs feuilles
2 réponses
Pierre F.
Bonjour... bonsoir à toutes et à tous,
J'ai un classeur de 10 feuilles nommées Sem1 à Sem10
Chaque feuille contient env 850 lignes
dans une 11e feuille nommée Recap1, pour chacune des lignes 5 à 850, je
cherche à récupérer les contenus de la cellule AZ de la manière suivante
(son contenu est soit vide, soit du texte) :
Si la cellule AZ est vide (""), ne rien faire et passer à la feuille
suivante.
Si la cellule n'est pas vide:
concaténer: le nom de la feuille et le contenu de la cellule AZ, ceci
pour les 10 feuilles successivement.
Je souhaite donc avoir, dans la cellule AZ de la ligne i la
concaténation de toutes les cellules AZ, ligne i des 10 pages.
J'ai essayé ceci :
Sub Recup()
For i = 1 to 850
zzz=""
For k = 1 to 10
If ("AZ(i)") <> "" Then zzz = zzz & Sheets(k).Name & ": " & ("AZ(i)")
next k
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
JB
Bonsoir,
For i = 5 To 580 temp = "" For j = 1 To 3 s = "sem" & j If Sheets(s).Cells(i, "az") <> "" Then temp = temp & Sheets(s).Name & ": " & Sheets(s).Cells(i, "az") & " - " End If Next j Sheets("recap1").Cells(i, "az") = temp Next i
JB
On 3 sep, 23:09, "Pierre F." wrote:
Bonjour... bonsoir à toutes et à tous,
J'ai un classeur de 10 feuilles nommées Sem1 à Sem10
Chaque feuille contient env 850 lignes
dans une 11e feuille nommée Recap1, pour chacune des lignes 5 à 850, je cherche à récupérer les contenus de la cellule AZ de la manière s uivante (son contenu est soit vide, soit du texte) :
Si la cellule AZ est vide (""), ne rien faire et passer à la feuille suivante.
Si la cellule n'est pas vide:
concaténer: le nom de la feuille et le contenu de la cellule AZ, ceci pour les 10 feuilles successivement. Je souhaite donc avoir, dans la cellule AZ de la ligne i la concaténation de toutes les cellules AZ, ligne i des 10 pages.
J'ai essayé ceci :
Sub Recup()
For i = 1 to 850
zzz="" For k = 1 to 10 If ("AZ(i)") <> "" Then zzz = zzz & Sheets(k).Name & ": " & ("AZ(i) ") next k
Mais ça ne marche pas du tout... :-( erreur de compilation...
Où est l'erreur?
Merci.
Cordialement, Pierre F.
Bonsoir,
For i = 5 To 580
temp = ""
For j = 1 To 3
s = "sem" & j
If Sheets(s).Cells(i, "az") <> "" Then
temp = temp & Sheets(s).Name & ": " & Sheets(s).Cells(i,
"az") & " - "
End If
Next j
Sheets("recap1").Cells(i, "az") = temp
Next i
JB
On 3 sep, 23:09, "Pierre F." <pfornero...@SPAMhotmail.com> wrote:
Bonjour... bonsoir à toutes et à tous,
J'ai un classeur de 10 feuilles nommées Sem1 à Sem10
Chaque feuille contient env 850 lignes
dans une 11e feuille nommée Recap1, pour chacune des lignes 5 à 850, je
cherche à récupérer les contenus de la cellule AZ de la manière s uivante
(son contenu est soit vide, soit du texte) :
Si la cellule AZ est vide (""), ne rien faire et passer à la feuille
suivante.
Si la cellule n'est pas vide:
concaténer: le nom de la feuille et le contenu de la cellule AZ, ceci
pour les 10 feuilles successivement.
Je souhaite donc avoir, dans la cellule AZ de la ligne i la
concaténation de toutes les cellules AZ, ligne i des 10 pages.
J'ai essayé ceci :
Sub Recup()
For i = 1 to 850
zzz=""
For k = 1 to 10
If ("AZ(i)") <> "" Then zzz = zzz & Sheets(k).Name & ": " & ("AZ(i) ")
next k
For i = 5 To 580 temp = "" For j = 1 To 3 s = "sem" & j If Sheets(s).Cells(i, "az") <> "" Then temp = temp & Sheets(s).Name & ": " & Sheets(s).Cells(i, "az") & " - " End If Next j Sheets("recap1").Cells(i, "az") = temp Next i
JB
On 3 sep, 23:09, "Pierre F." wrote:
Bonjour... bonsoir à toutes et à tous,
J'ai un classeur de 10 feuilles nommées Sem1 à Sem10
Chaque feuille contient env 850 lignes
dans une 11e feuille nommée Recap1, pour chacune des lignes 5 à 850, je cherche à récupérer les contenus de la cellule AZ de la manière s uivante (son contenu est soit vide, soit du texte) :
Si la cellule AZ est vide (""), ne rien faire et passer à la feuille suivante.
Si la cellule n'est pas vide:
concaténer: le nom de la feuille et le contenu de la cellule AZ, ceci pour les 10 feuilles successivement. Je souhaite donc avoir, dans la cellule AZ de la ligne i la concaténation de toutes les cellules AZ, ligne i des 10 pages.
J'ai essayé ceci :
Sub Recup()
For i = 1 to 850
zzz="" For k = 1 to 10 If ("AZ(i)") <> "" Then zzz = zzz & Sheets(k).Name & ": " & ("AZ(i) ") next k
Mais ça ne marche pas du tout... :-( erreur de compilation...
Où est l'erreur?
Merci.
Cordialement, Pierre F.
Pierre F.
For i = 5 To 580 temp = "" For j = 1 To 3 s = "sem" & j If Sheets(s).Cells(i, "az") <> "" Then temp = temp & Sheets(s).Name & ": " & Sheets(s).Cells(i, "az") & " - " End If Next j Sheets("recap1").Cells(i, "az") = temp Next i
Merci JB !!! C'est exactement ça... et ça a fonctionné du premier coup, même après avoir changé quelques "trucs".
Cordialement, Pierre F.
For i = 5 To 580
temp = ""
For j = 1 To 3
s = "sem" & j
If Sheets(s).Cells(i, "az") <> "" Then
temp = temp & Sheets(s).Name & ": " & Sheets(s).Cells(i,
"az") & " - "
End If
Next j
Sheets("recap1").Cells(i, "az") = temp
Next i
Merci JB !!!
C'est exactement ça... et ça a fonctionné du premier coup, même après
avoir changé quelques "trucs".
For i = 5 To 580 temp = "" For j = 1 To 3 s = "sem" & j If Sheets(s).Cells(i, "az") <> "" Then temp = temp & Sheets(s).Name & ": " & Sheets(s).Cells(i, "az") & " - " End If Next j Sheets("recap1").Cells(i, "az") = temp Next i
Merci JB !!! C'est exactement ça... et ça a fonctionné du premier coup, même après avoir changé quelques "trucs".