Automatiser l'insertion de colonnes au sein de lignes
Bonjour,
Je vais tacher d'expliciter un peu ce titre que j'ai mis 10 minutes à trouver
Voici d'abord un aperçu visuel de la situation
Le but du jeu est d'arriver à une liste ordonnée en une colonne comme présent sur A23
Alors j'ai essayé de transposer en premier lieu, de lignes en plusieurs colonnes à colonnes en plusieurs lignes (de G à T) pour ensuite par macro aller chercher une colonne et la coller dans la première et ainsi de suite mais il semble que la macro ne repère que le code de la cellule sur laquelle je me place (alors que je demande simplement d'abord à aller tout en bas de la colonne initiale, ensuite de descendre d'une case pour pouvoir coller, mais le code retient pas le +1 vers le bas mais le nom de la cellule, ce qui bloque)
J'ai voulu essayer ensuite de rester sur les lignes en plusieurs colonnes, et, à partir de la deuxième colonne (B), descendre jusqu'aux lignes qui s'étendent au delà de la première colonne pour couper ce qui dépasse et le transposer par insertion de lignes mais le souci là c'est que l'insertion blanke la ligne du dessus ce qui casse toute l'organisation...
Je m'excuse de rien y connaître en Excel j'ai beau avoir cherché sur internet et sur le forum j'ai rien trouvé
Je remercie grandement les âmes charitables qui sauront m'éclairer par leur lumière verte, et dans l'attente d'une réponse je vous souhaite une excellente journée !
Bonjour,
Pour augmenter tes chances d'avoir des réponses adaptées à ta situation ...
Mettre de côté les photos ... objets totalement inertes ... et donc inutilisables ...
Par contre, joindre un fichier test avec deux onglets :
Onglet 1 : la situation de départ
Onglet 2 : la situation à l'arrivée
Aucun doute sur le fait que tu obtiendras ta solution ...
Bonjour,
Merci James007 pour ta réponse et tes conseils qui me seront bien utiles ; Voici donc après une manip de confidentialité
Voilà voilà
Re,
Alors
Par contre j'essaye de faire parler ce bouton magique
En tout cas merci encore et désolé pour mes réponses un peu tardives, il s'agit d'un projet annexe sur lequel je n'ai pas beaucoup de temps...
Bonjour,
Pour t'aider dans la compréhension du code ... je t'ai ajouté les commentaires ( en vert )
Sub MeForme1()
' Données au Format 1
Dim i As Long, j As Long
Dim x As Long, y As Long
Dim der As Long
' déterminer la dernière colonne utilisée
j = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column
' faire une boucle de 1 à la dernière colonne
For y = 1 To j
' déterminer le numéro de la ligne
i = ActiveSheet.Cells(Rows.Count, y).End(xlUp).Row
' faire une boucle de 1 jusqu'à la dernière ligne
For x = 1 To i
' si la cellule n'est pas vide ...
If ActiveSheet.Cells(x, y) <> "" Then
' incrémenter le compteur de la ligne de destination
der = der + 1
' inscrire la valeur trouvée dans la première ligne
' libre de la Colonne A
Sheet3.Range("A" & der) = Cells(x, y)
End If
Next x
Next y
End Sub
En espèrant que cela t'aide