Eclater contenu d'une case en plusieurs cellules

Bonjour, je viens solliciter votre aide pour un petit soucis ...

je précise (aucas où) que j'utilise excel 2007 chez moi, mais 2003 au boulot .

J'ai des bases en Langage C mais je connais très peu la structure en VBA .

Je voudrais éclater le contenu d'une cellule et le copier dans plusieurs cases et ce sur la même ligne .

Une ligne représente les caractéristiques d'un produit , les colonnes sont l'enssembles des produits d'un planning .

J'ai donc besoin d'éclater la cellule de toutes les lignes de la colonne 'P'

voici pour exemple le contenu d'une cellule 'P' :

|ESS.HU.: Enr.uni |FIN.HUI: Blanc /fin |HUIS. : Prof.1 |Q.HUIS.: Hydrofuge |HUIS. : 121x49 |TALON : 50

le ' | ' revient entre chaque texte je pense donc copier les données entre 2 ' | ' , les coller dans une cellule vide (a droite de la ligne , disons 'AD' )

Si quelqu'un peut m'aiguiller sur la marche a suivre ... ce serai vraiment très pratique pour moi !

en vous remerciant par avance .

Salut Limp-Biscuits,

Quelque chose comme ça ?

Tout fichier .cvs de ce type devant recevoir ce traitement devra, après ajout de la macro ( dans le module VBA de 'Limp-Biscuits') être enregistré en .XLSM.

Un double-clic dans la feuille démarre la macro.

Merci à ThauTheme : c'est grâce à un code identique posté aujourd'hui que je dois de connaître cette façon d'utiliser...

UBound(Split(Range("P" & x), "|"))

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'
Cancel = True
Application.ScreenUpdating = False
'
For x = 2 To Range("P" & Rows.Count).End(xlUp).Row
    iNb = UBound(Split(Range("P" & x), "|"))
    If iNb > 0 Then Range("AD" & x).Resize(1, iNb + 1).Value = Split(Range("P" & x), "|")
Next
Columns.AutoFit
'
Application.ScreenUpdating = True
'
End Sub

A+

Parfait !

j'ai modifié ça pour l’exécuter via un click sur un bouton et c'est top !

Un grand merci à toi pour ta rapidité ...

Rechercher des sujets similaires à "eclater contenu case"