couper/copier contenu plusieurs cellules dans une seule / condition
3 réponses
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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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
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
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
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" <jipeache@gmail.com> a écrit dans le message de news:
1189157141.998353.109640@o80g2000hse.googlegroups.com...
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
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
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
On 7 sep, 12:11, "Daniel" <dZZZcolarde...@free.fr> 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
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