(RESOLU) Modification code : transposer des infos de colonnes en lignes.

CG2000

XLDnaute Occasionnel
Bonsoir le Forum, Bonsoir à Tous,

Il me faut travailler sur énormément de fichiers chaque jour pour transposer des infos de colonnes en lignes.
pour exemple
Sur Feuil1 je possède des infos de A1:O100
Sur Feuil2 il y a aucune info

Le code suivant me permet de copier coller de feuil1 sur feuil2 (de colonnes en lignes de la Feuil1 sur la Feuil2).
Pas de problème si feuil1 possède bien 100 lignes de données sans vides (donc de A1:O100)

Code:
Rows("1:100").Select
Selection.Copy
Sheets("Feuil2").Select
 Range("A1").Select
 Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
 False, Transpose:=True
 Application.CutCopyMode = False

Par contre si il y a moins de lignes avec des données par exemple 90 lignes

Visual Basic m'informe d'une erreur :
Erreur d'execution'9':
L'indice n'appartient pas à la sélection.

ou si ma feuille est supérieur à 100 lignes elle ne prends en compte que 100 lignes et non au dela.

Pour travailler sur un fichier pas de problème je réajuste manuellement le nombre Rows("1:100").Select, mais comme je travaille sur une qte importante de fichiers celà devient très vite contraignant.

:confused: Est-il possible de m'orienter pour que le code ci-dessus puisse interpréter automatiquement le nombre de ligne réellement rempli sans que je soit obliger de manipuler à chaque nouveau fichier Rows(":confused:::confused:").Select

Merci par avance de votre aide.
 
Dernière édition:

Fred0o

XLDnaute Barbatruc
Re : Modification code : transposer des infos de colonnes en lignes.

Bonsoir CG2000,

Tu peux essayer de modifier
VB:
Rows("1:100").Select
par
VB:
Range("A1:O" & Range("A65536").End(xlUp).Row).Select

Ainsi tu adaptes la zone à copier au nombre réel de lignes remplies. Ensuite, au lieu de sélectionner les lignes entières, tu sélectionnes les colonnes A à O.

A+
 

Hippolite

XLDnaute Accro
Re : Modification code : transposer des infos de colonnes en lignes.

Bonjour CG2000, bonjour FredOo,
En complément, une petite compilation : derniere-ligne-derniere-colonne-renseignees-feuille-calculs
A+

Edit : Si tu veux un code compatible toutes versions d'Excel,
remplace 65536 par ActiveSheet.rows.count
et IV par ActiveSheet.columns.count
 
Dernière édition:

CG2000

XLDnaute Occasionnel
Re : Modification code : transposer des infos de colonnes en lignes.

Bonsoir le Fil, Bonsoir à Tous,

Merci bien Fred0o, Bonne réponse et résultat parfait. Après plusieurs essais, c'est vraiment très bon.

Merci également à Hippolite pour son lien "Comment connaître les numéros des dernière ligne et dernière colonne renseignées d'une plage de données". De très bonnes explications et exemples.

Mercis, et très bonne soirée à Tous.
 

Discussions similaires

Statistiques des forums

Discussions
312 368
Messages
2 087 670
Membres
103 633
dernier inscrit
Surfer