Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

couper/copier contenu plusieurs cellules dans une seule / condition

3 réponses
Avatar
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 =E0 8 U x (8 U x n'est pas
r=E9p=E9t=E9 en F).
F G
8 U 1 Donn=E9es 1
Donn=E9es 2
Donn=E9es 3
8 U 2 Donn=E9es 4
Donn=E9es 5
etc avec parfois 10 donn=E9es pour une ref.

Je cherche =E0 obtenir en F la ref "8 U x" et en G "Donn=E9es 1; Donn=E9es
2; Donn=E9es 3", et la suppression des 2 lignes contenant pr=E9c=E9demment
Donn=E9es 2 et Donn=E9es 3,
et la suite bien s=FBr ;-))
Le s=E9parateur ";" peut =EAtre quelconque (sauf "*"), il sera remplac=E9
apr=E8s 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

3 réponses

Avatar
FFO
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




Avatar
Daniel
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" a écrit dans le message de news:

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
Avatar
jipeache
On 7 sep, 12:11, "Daniel" wrote:
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