Copier d'une cellule / coller dans les lignes du bas

  • Initiateur de la discussion Initiateur de la discussion karimal
  • 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 !

K

karimal

Guest
bonjour,
j ai une base de données qui sera beaucoup plus utile si j arrive à l'arranger.
Pour cela j ai besoin de votre aide.
donc, je dois separer des codes se trouvant dans une cellule (séparés par une virgule les uns des autres) et les coller dans les lignes du dessous l'un apres l'autre.
j'avais une methode de séparer le texte dans les colonnes à coté par une formule puis, les selectionner, copier, coller contenu, transposer.
mais vu que dans cas y a bcp d'information, je fais appel à votre génie pour m'aider.
j'ai joint un expl si vs n'avez pas trop compris ce que je veux 🙂
merci!!!!!!
😛
 

Pièces jointes

Re : Copier d'une cellule / coller dans les lignes du bas

Salut karminal,
voici un exemple par macro.

Sinon, manuellement, tu peux facilement le réaliser en faisant ceci :
1) Données --> Convertir
2) Mettre la "," comme séparateur.
3) Tu obtiens le résultat en colonne. Tu n'as qu'à faire un copier coller transposé.

Bonne continuité,

Étienne
 

Pièces jointes

Re : Copier d'une cellule / coller dans les lignes du bas

BOnjour à tous
Un petit code pour eclater tout cela :

VB:
Sub eclater()

'le but est déclater le contenu d'une cellule en duplicant les lignes
'je cherche si il y a une virgule
ligne_en_cours = 4
While ligne_en_cours < 65000
    If InStr(1, Cells(ligne_en_cours, 4).Value, ",") <> 0 Then
        'ducliquer
        Rows(ligne_en_cours + 1).Insert Shift:=xlDown
        Rows(ligne_en_cours).Copy
        Rows(ligne_en_cours + 1).Select
        ActiveSheet.Paste
        Application.CutCopyMode = False
        'transformer le contenue de la colonne D de la ligne en cours
        Cells(ligne_en_cours, 4).Value = Left(Cells(ligne_en_cours, 4).Value, InStr(1, Cells(ligne_en_cours, 4).Value, ",") - 1)
        'transformer le contenue de la colonne D de la ligne créé
        Cells(ligne_en_cours + 1, 4).Value = Right(Cells(ligne_en_cours + 1, 4).Value, Len(Cells(ligne_en_cours + 1, 4).Value) - InStr(1, Cells(ligne_en_cours + 1, 4).Value, ","))
    End If
    
ligne_en_cours = ligne_en_cours + 1

Wend
End Sub

Cdt

Olivier
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
879
Retour