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

Copie variable colonne

1 réponse
Avatar
JulieH
Bonjour,

Je suis à la recherche d'idées pour le petit problème que voici :
- Dans la Feuil1, j'ai des infos sur plusieurs colonnes (nombre
inconnu par avance - de B à K maxi - Le nombre de colonne concernée en
indiqué en G10).
- S'il y a une info en cellule 12 (B12 - C12 - D12...), je souhaite
copier la zone 12 à 20 (B12:B20 - C12:C20...) dans la Feuil2 à la suite
de ce qui existe déjà. Cependant, il faut alors que cette copie soit en
ligne (transposée).

- Voilà ce que j'ai commencé (bouton en Feuil1) :
Dim c As Range
i = [Feuil1].[G10].Value

For Each c In Range([B12], [B12].Offset(0, i - 1))
y = c.Column
If c = "" Then
Exit Sub
Else
z = [Feuil2].[A65000].End(xlUp).Row + 1

???????.Copy Sheets("Feuil2").Range("A" & z)

End If
Next

- Je me suis peut-être complètement plantée sur l'ensemble de ma
solution (!!!). En tous cas, je bloque sur la ligne (???) qui permet :
- de sélectionner la zone concernée par chaque colonne.
- de copier en ligne (transposer) dans la seconde feuille à la suite de
ce qui existe déjà.

Merci d'avance pour votre aide.

Julie

1 réponse

Avatar
JulieH
Bonjour,

Pas de réponse, sans doute ma question était-elle mal posée.

Je me suis remise au travail et en tatonnant et bricolant, j'ai réussi
à faire ce que je voulais :

Dim c As Range
i = [Feuil1].[H10].Value
'Sélectionne les données de chaque colonne
For Each c In Range([C22], [C22].Offset(0, i - 1))
If c = "" Then
Exit Sub
Else
z = Workbooks("Fich").Sheets("T").Range("F65000").End(xlUp).Row + 1
Range(c.Offset(-1, 0), c.Offset(5, 0)).Copy
Workbooks("Fich").Sheets("T").Range("F" & z).PasteSpecial
Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
End If
Next

J'ai abandonné "c.column" que je n'arrivais pas à maitriser.
Si quelqu'un à quelques minutes pour regarder et éventuellement simplifier.

Dans tous les cas, merci à ceux qui se sont penchés sur mon problème.

Julie

Bonjour,

Je suis à la recherche d'idées pour le petit problème que voici :
- Dans la Feuil1, j'ai des infos sur plusieurs colonnes (nombre
inconnu par avance - de B à K maxi - Le nombre de colonne concernée en
indiqué en G10).
- S'il y a une info en cellule 12 (B12 - C12 - D12...), je souhaite
copier la zone 12 à 20 (B12:B20 - C12:C20...) dans la Feuil2 à la suite
de ce qui existe déjà. Cependant, il faut alors que cette copie soit en
ligne (transposée).

- Voilà ce que j'ai commencé (bouton en Feuil1) :
Dim c As Range
i = [Feuil1].[G10].Value

For Each c In Range([B12], [B12].Offset(0, i - 1))
y = c.Column
If c = "" Then
Exit Sub
Else
z = [Feuil2].[A65000].End(xlUp).Row + 1

???????.Copy Sheets("Feuil2").Range("A" & z)

End If
Next

- Je me suis peut-être complètement plantée sur l'ensemble de ma
solution (!!!). En tous cas, je bloque sur la ligne (???) qui permet :
- de sélectionner la zone concernée par chaque colonne.
- de copier en ligne (transposer) dans la seconde feuille à la suite de
ce qui existe déjà.

Merci d'avance pour votre aide.

Julie