couper/copier contenu plusieurs cellules dans une seule / condition

Le
jipeache
Bonjour,
sous excel 2000, j'ai en col F une suite de ref type "8 U 1", etc"8
U 190".
En col G, plusieurs cellules correspondant à 8 U x (8 U x n'est pas
répété en F).
F G
8 U 1 Données 1
Données 2
Données 3
8 U 2 Données 4
Données 5
etc avec parfois 10 données pour une ref.

Je cherche à obtenir en F la ref "8 U x" et en G "Données 1; Données
2; Données 3", et la suppression des 2 lignes contenant précédemment
Données 2 et Données 3,
et la suite bien sûr ;-))
Le séparateur ";" peut être quelconque (sauf "*"), il sera remplacé
après dans un autre logiciel.

Avez-vous une solution ? Je ne connais pas les macros mais je pense
que c'est la solution ?
Merci d'avance
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FFO
Le #4689551
Salut à toi

Prenant la Feuil1 à traiter colonne F et G

Je te propose ce code :

For Each c In Worksheets("Feuil1").Range("F1", [F65535].End(xlUp))
If c <> "" Then
c.Offset(1, 0).Select
Do While ActiveCell = "" And ActiveCell.Offset(0, 1) <> ""
n = 1
Donnée = Donnée & ";" & ActiveCell.Offset(0, 1)
ActiveCell.Offset(1, 0).Select
Loop
c.Offset(0, 1) = c.Offset(0, 1) & Donnée
If n = 1 Then
Range(c.Offset(1, 0), c.End(xlDown).Offset(-1, 0)).EntireRow.Delete
End If
End If
Donnée = ""
Next


Celà devrait faire


Bonjour,
sous excel 2000, j'ai en col F une suite de ref type "8 U 1", etc..."8
U 190".
En col G, plusieurs cellules correspondant à 8 U x (8 U x n'est pas
répété en F).
F G
8 U 1 Données 1
Données 2
Données 3
8 U 2 Données 4
Données 5
etc avec parfois 10 données pour une ref.

Je cherche à obtenir en F la ref "8 U x" et en G "Données 1; Données
2; Données 3", et la suppression des 2 lignes contenant précédemment
Données 2 et Données 3,
et la suite bien sûr ;-))
Le séparateur ";" peut être quelconque (sauf "*"), il sera remplacé
après dans un autre logiciel.

Avez-vous une solution ? Je ne connais pas les macros mais je pense
que c'est la solution ?
Merci d'avance




Daniel
Le #4689541
Bonjour.
Essaie (avec les données initiales en colonne A et B, résultat en colonne C)
:

Sub test()
Dim c As Range, x As Range, Res As String
For Each c In Range("B1", Range("B65536").End(xlUp))
If c.Offset(, -1) <> "" Then
If Not x Is Nothing Then x = Res
Set x = c.Offset(, 1)
Res = c
Else
Res = Res & ";" & c
End If
Next c
x = Res
End Sub

Cordialement.
Daniel
"jipeache"
Bonjour,
sous excel 2000, j'ai en col F une suite de ref type "8 U 1", etc..."8
U 190".
En col G, plusieurs cellules correspondant à 8 U x (8 U x n'est pas
répété en F).
F G
8 U 1 Données 1
Données 2
Données 3
8 U 2 Données 4
Données 5
etc avec parfois 10 données pour une ref.

Je cherche à obtenir en F la ref "8 U x" et en G "Données 1; Données
2; Données 3", et la suppression des 2 lignes contenant précédemment
Données 2 et Données 3,
et la suite bien sûr ;-))
Le séparateur ";" peut être quelconque (sauf "*"), il sera remplacé
après dans un autre logiciel.

Avez-vous une solution ? Je ne connais pas les macros mais je pense
que c'est la solution ?
Merci d'avance
jipeache
Le #4751621
On 7 sep, 12:11, "Daniel"
Bonjour.
Essaie (avec les données initiales en colonne A et B, résultat en col onne C)
:

Sub test()
Dim c As Range, x As Range, Res As String
For Each c In Range("B1", Range("B65536").End(xlUp))
If c.Offset(, -1) <> "" Then
If Not x Is Nothing Then x = Res
Set x = c.Offset(, 1)
Res = c
Else
Res = Res & ";" & c
End If
Next c
x = Res
End Sub

Cordialement.
Daniel
Merci.

Cela a fonctionné.
Pas de suppression des lignes inutiles mais apres un tri pas de
problème.
Merci encore

Publicité
Poster une réponse
Anonyme