Séparer valeur d'une cellule en plusieurs lignes

ted1057

XLDnaute Occasionnel
Bonjour à tous,

Je travaille actuellement sur un dossier me permettant de créer des Fiches de suivi de fabrication.
J'ai des données inscrites dans une cellule, dans un fichier planning, sous la forme suivante :
"espace" - "espace" texte 1
"espace" - "espace" texte 2
"espace" - "espace" texte 3
...

J'aimerais, sous VBA, séparer les informations, de la feuille "Suivi Affaires", de cette cellule en plusieurs lignes dans l'onglet "Fiche OF".

En pièce jointe un dossier d'exemple.
 

Pièces jointes

  • test séparartion de cellules.xlsx
    10.4 KB · Affichages: 35

gosselien

XLDnaute Barbatruc
Bonjour,

juste 2 remarques:
- la fusion de cellules est à proscrire, ça pose bcp de problèmes
- la colonne K est vide, donc en cas de tri, elle ne suivra pas et si tu as d'autres données, ça va foutre le bordel ...

Pourquoi tout mettre dans la même cellule (E6) et ne pas recopier comme dans une vraie base de données, le devis, le n° d'affaire etc etc autant de fois qu'il y a de "taches à effectuer" ?

Ensuite on sait aller chercher les différentes lignes qui concernent l'affaire 1545...
C'est juste mon avis :)

P.
 

CISCO

XLDnaute Barbatruc
Bonjour

Une possibilité en pièce jointe avec une formule. Cf. aussi la définition de texteutile dans le gestionnaire de noms.

@ plus

P.S : Bonjour Gosselien.
 

Pièces jointes

  • séparartion de cellules.xlsx
    16.1 KB · Affichages: 25

ted1057

XLDnaute Occasionnel
Bonjour,

juste 2 remarques:
- la fusion de cellules est à proscrire, ça pose bcp de problèmes
- la colonne K est vide, donc en cas de tri, elle ne suivra pas et si tu as d'autres données, ça va foutre le bordel ...

Pourquoi tout mettre dans la même cellule (E6) et ne pas recopier comme dans une vraie base de données, le devis, le n° d'affaire etc etc autant de fois qu'il y a de "taches à effectuer" ?

Ensuite on sait aller chercher les différentes lignes qui concernent l'affaire 1545...
C'est juste mon avis :)

P.

J’énumère les tâches à effectuer afin quelles apparaissent sur le planning de production et également sur des étiquettes que je colle sur les dossiers.
 

ted1057

XLDnaute Occasionnel
Bonjour à tous,

Merci pour vos réponses.
Après différents tests, j'ai enfin trouvé un code qui marchait bien.
Si dessous, le code utilisé



Code:
Sub fiche_OF()

Dim s As Variant, i As Byte, c As Variant

Sheets("Suivi Affaires").Select

Nb_row = Cells(Rows.Count, "a").End(xlUp).Row
Cells(Nb_row, 5).Select
s = Split(Cells(Nb_row, 5), vbLf)
For i = 0 To UBound(s)
Sheets("OF Origine").Select
    Cells(i + 9, 2).Value = s(i)
Next i
    For Each c In Selection
  c.Value = Replace(c.Value, " - ", "")
  Next c
  End Sub
 

CISCO

XLDnaute Barbatruc
Bonjour

Ma précédente proposition n'était qu'un exemple, que le début d'une possibilité, ne fonctionnant qu'avec le contenu de Suivi d'Affaires!E6. Ci-joint, une nouvelle possibilité, plus polyvalente, toujours avec une formule à tirer vers le bas, et en fonction du N° d'affaire donné dans Fiche OF!E3 (donc pas seulement avec le contenu de Suivi d'Affaires!E6).

Merci pour le code VBA.

@ plus
 

Pièces jointes

  • séparartion de cellulesbis.xlsx
    16.4 KB · Affichages: 28

Discussions similaires

Statistiques des forums

Discussions
312 229
Messages
2 086 425
Membres
103 206
dernier inscrit
diambote