Trouver l'espace qui se trouve avant la virgule

bonjour tout le monde,

je débute en VBA, j'ai un soucis

j'aimerais trouver dans une chaine de caractère, '' l'espace qui précède juste une virgule ''

j'ai une feuille de 12000 lignes, et je dois faire cette recherche par ligne uniquement dans la cellule A et une fois qu'il a trouver, il coupe la ligne entière pour la mettre dans la feuille 2

voici mon code :

je galère sur la condition: trouver " l'espace après la virgule" besoin d'aide

Sub transfert()

Dim rg As Range, rgF As Range

Dim i As Integer

Application.ScreenUpdating = False

Set rg = Sheets("Feuil1").Cells(1).CurrentRegion

For i = 1 To rg.Rows.Count

'On cherche dans cette ligne la valeur à trouver

Set rgF = rg.Rows(i).Find(" ", ",")

If Not rgF Is Nothing Then

rg.Rows(i).Copy Sheets("Feuil2").Range("A60000").End(xlUp).Offset(1, 0)

Set rgF = Nothing

Rows(i).Delete

End If

Next i

Application.ScreenUpdating = True

End Sub

Bonjour,

Relis la syntaxe de la méthode Range.Find pour pouvoir au moins l'utiliser correctement...

Bonjour et bienvenu(e),

Merci de joindre un fichier à ta demande.

Cdlt.

voici mon fichier

24text.xlsm (436.25 Ko)

Et quel est l'objectif ? le résultat à obtenir ?

Après examen de ton fichier, un traitement identifiant les noms identiques après résorption de différences telles que présence ou non d'espaces autour de la virgule, présence ou non de tiret, éventuellement numéro d'ordre en fin... Il est toutefois à bien préciser celles dont on peut tenir compte ou non.

Mais ensuite il faut définir quel traitement car s'il y a des infos manquantes sur certains alors que d'autres sont identiques, ce n'est pas toujours le cas et sur la même rubrique, les infos peuvent être différentes.

Cordialement.

vous pouvez essayer de me mettre sur la piste ?

Si on me dit ce qu'on attend par rapport à ce qui existe, je peux réfléchir sur la façon d'y parvenir !

Mais je n'ai pas à décider quelles informations doivent être conservées en se substituant à d'autres...

MFerrand a écrit :

Si on me dit ce qu'on attend par rapport à ce qui existe, je peux réfléchir sur la façon d'y parvenir !

Mais je n'ai pas à décider quelles informations doivent être conservées en se substituant à d'autres...

je t'ai envoyé un mail avec le fichier complet avec plus d'explication

il est trop lourd pour l'uploader ici

??

bon j'ai tenté j'ai réussi la première parti

  Sub transfert()
   Dim rg As Range, rgF As Range
   Dim i As Integer

   Application.ScreenUpdating = False

   Set rg = Sheets("Feuil1").Cells(1).CurrentRegion

   For i = 1 To rg.Rows.Count
      'On cherche dans cette ligne la valeur à trouver
      Set rgF = rg.Rows(i).Find(" " + ",")

      If Not rgF Is Nothing Then

         rg.Rows(i).Copy Sheets("Feuil2").Range("A60000").End(xlUp).Offset(1, 0)
         Set rgF = Nothing
         Rows(i).Delete

      End If
   Next i

   Application.ScreenUpdating = True
End Sub
Rechercher des sujets similaires à "trouver espace qui trouve virgule"