Formule recopie cellules excel

Fermé
chenneq2 Messages postés 4 Date d'inscription vendredi 8 janvier 2021 Statut Membre Dernière intervention 12 janvier 2021 - 8 janv. 2021 à 13:13
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 13 janv. 2021 à 09:32
Bonjour,
J'ai plusieurs colonnes dans excel qui contiennent chacune un nombre différent de valeurs (cellules contenant un chiffre). Je souhaite sans passer par des copier-coller, que toutes les valeurs apparaissent les unes à la suite des autres dans une nouvelle colonne : valeurs de la colonne A puis celles de la colonne B ...
Une formule est elle adaptée ?
Merci de votre aide
cordialement

Configuration: Macintosh / Safari 14.0.1
A voir également:

6 réponses

Yoyo01000 Messages postés 1639 Date d'inscription samedi 2 février 2019 Statut Membre Dernière intervention 7 mars 2022 167
8 janv. 2021 à 14:41
Bonjour,

vous voulez faire apparaître les valeurs de plusieurs colonnes dans une seule et unique colonne, c'est ça ?
0
chenneq2 Messages postés 4 Date d'inscription vendredi 8 janvier 2021 Statut Membre Dernière intervention 12 janvier 2021
12 janv. 2021 à 18:55
Bonsoir,
bon la solution proposée fonctionne parfaitement sur un "petit" jeu de données. ici je m'adresse à un fichier de 10 de milliers de lignes et là ça coince. je ne sais pas si Excel tourne en tache de fond ou si il est bloqué (mon Mac ne me dit pas qu'il l'est) mais après plusieurs heures je n'ai pas le résultat escompté avec la macro.
J'aurais éventuellement une autre option : "fusionner" (merger ?) différents fichiers Excel formatés de manière identique (même nom de colonnes).
Savez vous comment faire ?
D'avance merci bonne soirée.
0
chenneq2 Messages postés 4 Date d'inscription vendredi 8 janvier 2021 Statut Membre Dernière intervention 12 janvier 2021
8 janv. 2021 à 15:12
oui c'est bien ça
merci d'avance
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 311
8 janv. 2021 à 15:48
Bonjour chennec, Yoyo

" les valeurs apparaissent les unes à la suite des autres "

C'est à dire triées dans l'ordre croissant des x colonnes ?
0
chenneq2 Messages postés 4 Date d'inscription vendredi 8 janvier 2021 Statut Membre Dernière intervention 12 janvier 2021
9 janv. 2021 à 10:04
Merci. Voici la solution

Sub concat()

For i = 2 To ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row + 1

derlignec = ActiveSheet.Range("F" & Rows.Count).End(xlUp).Row + 1
Cells(derlignec, 6).Value = Cells(i, 1).Value

Next i

For i = 2 To ActiveSheet.Range("B" & Rows.Count).End(xlUp).Row + 1

derlignec = ActiveSheet.Range("F" & Rows.Count).End(xlUp).Row + 1
Cells(derlignec, 6).Value = Cells(i, 2).Value

Next i

For i = 2 To ActiveSheet.Range("C" & Rows.Count).End(xlUp).Row + 1

derlignec = ActiveSheet.Range("F" & Rows.Count).End(xlUp).Row + 1
Cells(derlignec, 6).Value = Cells(i, 3).Value

Next i
For i = 2 To ActiveSheet.Range("D" & Rows.Count).End(xlUp).Row + 1

derlignec = ActiveSheet.Range("F" & Rows.Count).End(xlUp).Row + 1
Cells(derlignec, 6).Value = Cells(i, 4).Value

Next i
For i = 2 To ActiveSheet.Range("E" & Rows.Count).End(xlUp).Row + 1

derlignec = ActiveSheet.Range("F" & Rows.Count).End(xlUp).Row + 1
Cells(derlignec, 6).Value = Cells(i, 5).Value

End Sub
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Raymond PENTIER Messages postés 58801 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 7 janvier 2025 17 264
12 janv. 2021 à 22:25
"Une formule est elle adaptée ?" Non ; aucune.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 311
Modifié le 13 janv. 2021 à 09:36
Bonjour,

Avec Excel sur Windows solution rapide

Option Explicit
'-----------------
Sub xxx()
Dim Col As Byte, Derlig As Integer, Ligvid As Long, Tablo
Range("F2:F500000").Clear
For Col = 1 To 5
Derlig = Columns(Col).Find(what:="*", searchdirection:=xlPrevious).Row
Tablo = Range(Cells(1, Col), Cells(Derlig, Col))
Ligvid = Columns("F").Find("", Range("F1"), xlValues).Row
Cells(Ligvid, "F").Resize(UBound(Tablo), 1) = Tablo
Next

End Sub


restitution à partir de F2 (en f1 entêté par ex: compil)


0