Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Macro ou formule pour récupérer du texte dans plusieurs feuilles

2 réponses
Avatar
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

Sheets("Recap1").Select
Range("AZ(i)").Select
AZ(i) = zzz

Next i
End sub

Mais ça ne marche pas du tout... :-( erreur de compilation...

Où est l'erreur?

Merci.

Cordialement,
Pierre F.

2 réponses

Avatar
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

Sheets("Recap1").Select
Range("AZ(i)").Select
AZ(i) = zzz

Next i
End sub

Mais ça ne marche pas du tout... :-( erreur de compilation...

Où est l'erreur?

Merci.

Cordialement,
Pierre F.


Avatar
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.