Boucle transposant valeurs entre deux feuilles

Soyez le premier à donner votre avis sur cette source.

Snippet vu 3 884 fois - Téléchargée 35 fois

Contenu du snippet

Ce code fait la meme chose que la fonction de collage special transposition.
A vous de définir le nombre de ligne et de colonnes a basculer.
Mais on peut rajouter un compteur de lignes et de colonnes ca serait plus élégant.... ;-)

Source / Exemple :


Sub Bascule()

Application.ScreenUpdating = False
    
For i = 1 To 99
    For j = 1 To 30                 ' Copie les colonnes sur les lignes
       Sheets("1").Cells(j, i) = Sheets("2").Cells(i, j)
    Next j
Next i
   
Range("A1").Select

End Sub

A voir également

Ajouter un commentaire

Commentaires

ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
211 -
Bonjour,
Le code de ce snippet fonctionne bien évidemment sans aucun problème
Mais pourquoi faire cette double boucle pour transposer, alors que VBA/Excel offre du tout cuit et sans passer par du "pastespecial"
Il suffit de déterminer la plage à transposer, comme par exemple :
Dim plage As Range
Set plage = Worksheets("Feuil1").Range("A6:C7")

puis, cette plage ayant été ainsi déclarée, d'en "envoyer" la "transposition" où on le souhaite (comme ici, par exemple en Feuil3, à partir de la cellule A1

With Worksheets("Feuil3")
.Range(.Cells(1, 1), .Cells(plage.Columns.Count, plage.Rows.Count)).Value = Application.Transpose(plage)
End With

Le traitement en sera beaucoup plus rapide.
C'est grave les mecs je viens de voir par curiosité que sur 20 macros que je viens de tester, les 20 ne fonctionnent pas. C'est nul arrêter de balancer vos codes à la noix, arrêtez de vous prendre pour Bill Gates....Vous faites perdre du temps à tout le monde, TESTEZ VOS MERDES AVANT DE LES METTRE EN LIGNES..!
ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
211 > moi -
Qui peut bien être ce guignol dont le pseudo est "moi" ????
Une véritable "vedette", celui-là, tiens !
(je suppose que son niveau en développement sous VBA/Excel est proportionnel à celui de sa correction et inversement proportionnel à ce qu'il pense valoir).
Whismeril
Messages postés
13650
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
25 août 2019
298 > moi -
Bonjour

Je viens de le tester, parce quand même, en lisant et relisant ce snippett je ne voyais pas ce qui pouvait boguer... Et pour cause, il fonctionne très bien, alors, avant de critiquer amèrement achètes toi un peu de jugeote, cherche à comprendre ce qu'il fait, y a 10 lignes un peu d'aide en ligne sur les fonctions ça va pas prendre 10 jours...
Et tant que tu es au magasin (pour la jugeote) prends un bescherelle aussi.
cs_laestrella
Messages postés
93
Date d'inscription
lundi 16 juin 2003
Statut
Membre
Dernière intervention
27 juin 2003
-
C'est plus facile dans un zip pour archiver direct
Sinon c'est tout simple mais efficace.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.