Boucles sur colonnes

  • Initiateur de la discussion Initiateur de la discussion patsyl60
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

patsyl60

XLDnaute Occasionnel
Bonjour à tous,

Je viens encore une fois vous demander conseil. J'ai une boucle à faire sur des colonnes et mettre les résultats à la suite dans une autre colonne. J'arrive à faire les boucles sur les lignes, mais je ne trouve pas sur les colonnes.

Je vous met un fichier exemple en pièce jointe.

Dans ce fichier 4 colonnes. Je dois mettre les résultats des colonnes A à D dans la colonne G (à la suite).

Ma macro fonctionne sur la ligne A.

Pouvez vous m'aider pour compléter afin de faire cette boucle sachant que dans mon fichier original, le nombre de colonnes est variable.

D'avance merci. 😕

Patsyl60
 

Pièces jointes

Re : Boucles sur colonnes

Bonjour

Code:
derlig = [A65000].End(xlUp).Row
For i = 1 To 4
  For z = 2 To derlig
    Range("g65536").End(xlUp).Offset(1, 0) = Cells(z, i)
  Next z
Next i

ou

derlig = [A65000].End(xlUp).Row
b = [G65000].End(xlUp).Row + 1

For i = 1 To 4
  For z = 2 To derlig
    Cells(b, 7) = Cells(z, i)
    b = b + 1
  Next z
Next i

A++

Temjeh

PS: Le i = 1 to 4 boucle sur le nombre de colonnes donc si 5 col ....1 to 5 / sans la colA 2 to 5
 
Dernière édition:
Re : Boucles sur colonnes

Bonjour Temjeh,

Merci pour ton aide.

Cela fonctionne super bien. Mais y a t-il un moyen de calculer automatiquement le nombre de colonnes pour faire une boucle automatique sans avoir à rentrer dans la macro à chaque fois ? (derniere colonne non vide - colonne A ?).

Encore merci.

Patsyl60 😕
 
Re : Boucles sur colonnes

Bonjour soenda,

Merci. ta réponse complète celle de Temjeh.

Pour ceux que cela intéresse , voici le code qui fonctionne :

Code:
Sub test()
nbColonnes = [A1].End(xlToRight).Columns.Column
derlig = [A65000].End(xlUp).Row
b = [G65000].End(xlUp).Row + 1

For i = 1 To nbColonnes
  For z = 2 To derlig
    Cells(b, 7) = Cells(z, i)
    b = b + 1
  Next z
Next i
End Sub

Encore merci à vous deux.

Patsyl60 😉
 
Re : Boucles sur colonnes

Re

A noter, pour déterminer la dernière colonne utilisée de la ligne 1, il est préférable de partir de la dernière cellule, et faire le chemin inverse :

Code:
Dim c As String
c = Split([IV1].End(xlToLeft).Address, "$")(1)

@+
 
Re : Boucles sur colonnes

Re,

attention ce code teste les colonnes de la ligne 1, et ce à partir de la cellute A1... que recherches tu exactement....


en fait je souhaite obtenir le nom (la lettre) de la dernière colonne utilisée. En l'occurrence dans mon projet c'est Z .

Re

A noter, pour déterminer la dernière colonne utilisée de la ligne 1, il est préférable de partir de la dernière cellule, et faire le chemin inverse :


Code:
Dim c As String
c = Split([IV1].End(xlToLeft).Address, "$")(1)@+

ce code me renvoi "A"

Re

attention ce code agit sur la feuille active.... les cellules de ta ligne 1 ne seraient pas fusionnées des fois....

Non, aucune cellule n'est fusionnée


Merci 🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
265
Réponses
2
Affichages
112
Retour