Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Découper une colone en plusieurs (pas comme vous pensez!)

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

Zdouf

XLDnaute Nouveau
Bonjour à tous,

Après plusieurs recherche, je viens à vous. Je cherche par le biais d'une macro à séparer une colonne en plusieurs mais pas comme il est souvent demandé sur le net (séparation d'une chaine de caractèere en plusieurs colonnes).

Je m'explique:
J'ai une colonne unique avec des chaines de caractère sur 1000 lignes environ, avec des redondances. Je cherche donc à couper la colonne dès apparition d'un mot spécifique dans une ligne et à coller cette coupe de lignes dans la colonne suivante.

Il me suffirait de faire une boucle recherchant la ligne contenant le mot dans chaque nouvelle colonne collée qui couperait à ce moment là dès la ligne contenant le mot et recollerait dans la colonne suivante... c.f. le petit exemple joint

Le problème: je suis une quiche en programmation Excel, je débute!

D'avance, merci.
 

Pièces jointes

  • 2011-08-06 18h43_35.png
    16.8 KB · Affichages: 106
Dernière édition:
Re : Découper une colone en plusieurs (pas comme vous pensez!)

Bonjour Zdouf, et bienvenue sur le site,

Voici un fichier exemple avec une macro attachée au bouton CommandButton1.

Espérant avoir répondu.

Cordialement.
 

Pièces jointes

Re : Découper une colone en plusieurs (pas comme vous pensez!)

Bonsoir, re papou

Bah alors t'as oublié tes Dim 😉

Dim cel As Range

PS: bravo pour ce code
auquel j'aurai ajouté en plus du dim plus haut un petit
Application.ScreenUpdating =False de derrière les fagots 😉
 
Re : Découper une colone en plusieurs (pas comme vous pensez!)

Bonjour Zdouf, Papou-net, Staple1600.

S'il y a beaucoup de lignes à traiter, je te propose une méthode nettement plus rapide ici :
VB:
Private Sub CommandButton1_Click()
Dim c As Range, d As Range, Dest As Range, Fin As Range
Set Dest = [C1]: Set Fin = [A60000].End(xlUp)(2, 1)
Fin = [A1]
With Range("A2:A65536")
  Set c = .Find(After:=[A2], what:=[A1].Text, LookIn:=xlValues, lookat:=xlWhole)
     Range([A1], c(0, 1)).Copy Dest(1, 0)
     Do While c.Address <> Fin.Address
       Set d = .FindNext(c)
       Range(c, d(0, 1)).Copy Dest
       Set Dest = Dest(1, 2)
       Set c = d
     Loop
End With
Fin = ""
End Sub
 

Pièces jointes

Re : Découper une colone en plusieurs (pas comme vous pensez!)

Bonjour à tous.
Merci pour vos réponses!!
Au travail, je teste ça ce soir en rentrant et vous tiens au courant.
En tous cas, grâce à vous, j'en connais un peu plus sur les commandes VBA et leurs arguments: encore merci!!
Bonne journée.
 
Re : Découper une colone en plusieurs (pas comme vous pensez!)

Bonjour!

Bon, ça marche du tonnerre!
J'ai repris le code de Softmama (bcp de lignes à traiter).
Je l'ai modifié pour mes besoins (cellule contenant plusieurs mot dont celui recherché: LookAt:=xlPart).
Grâce à vous, je peux bosser sur votre exemple: étudier et comprendre la classe "range", les boucle...
Merci encore!
 
- 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

Discussions similaires

Réponses
3
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…