Probléme de Macro - Automatiser le changement de format d'une colonne

sokour

XLDnaute Occasionnel
Bonjour,

Je vous expose mon probleme :
J'ai un fichier avec 2 onglets et je compares ces 2 feuilles avec la macro qui supprime les lignes similaires selon des colonnes ayant les memes critères.

Le problème est que dans l'une des onglet la colonne a changer comporte des espaces pour les chiffres et ne permet donc pas une comparaison optimale.

J'aimerai utuliser la fonction substitue en automatiser mais comme je suis début je ne vois pas comment faire.

Je vous joint ma feuille et la macro ( la colonne concernée est dans la feuille , colonne O)

Mercii:confused:
 

Pièces jointes

  • Compar.XLS
    48 KB · Affichages: 73
  • Compar.XLS
    48 KB · Affichages: 77
  • Compar.XLS
    48 KB · Affichages: 79

sokour

XLDnaute Occasionnel
Re : Probléme de Macro - Automatiser le changement de format d'une colonne

AIeee j'ai le meme probleme evoqué depuis le début. je vous envoie ci joint mon fichier, je constate les meme lignes dans les 2 feuilles mais les lignes ne peuvent pas se comparer :

Feuille B

2609 55

feuille F

2 609 55

Sachant que dans la macro il y a deja la fonction replace.

Je n'arrives pas a résoudre ce probleme
 

Pièces jointes

  • Compare.XLS
    35.5 KB · Affichages: 83
  • Compare.XLS
    35.5 KB · Affichages: 89
  • Compare.XLS
    35.5 KB · Affichages: 91

sokour

XLDnaute Occasionnel
Re : Probléme de Macro - Automatiser le changement de format d'une colonne

Ci joint la macro

Merci j'ai besoin de votre aide:(
 

Pièces jointes

  • Macro1.xls
    22.5 KB · Affichages: 36
  • Macro1.xls
    22.5 KB · Affichages: 36
  • Macro1.xls
    22.5 KB · Affichages: 40

pierrejean

XLDnaute Barbatruc
Re : Probléme de Macro - Automatiser le changement de format d'une colonne

Re

teste ceci

Code:
Sub comparaison()
Application.ScreenUpdating = False
    Set F1 = Sheets("B")
    Set f2 = Sheets("F")
    For I = F1.Range("C" & "65000").End(xlUp).Row To 1 Step -1
       For k = f2.Range("I" & "65000").End(xlUp).Row To 1 Step -1
         If F1.Cells(I, "C").Value = Replace(f2.Cells(k, "E").Value, Chr(160), vbNullString) _
            And F1.Cells(I, "E").Value = f2.Cells(k, "G").Value Then
            F1.Rows(I).Delete
            f2.Rows(k).Delete
         End If
       Next k
    Next I
End Sub

note: bien qu'ici l'espace ne soit pas du a un chr(160) intempestif mais a un format de separateur de milliers j'ai conservé le replace
 

Discussions similaires

Statistiques des forums

Discussions
312 262
Messages
2 086 643
Membres
103 345
dernier inscrit
SabSab