OVH Cloud OVH Cloud

AIDEZ MOI SVP

7 réponses
Avatar
aline
voici un bout de code qui permet de d'ajouter dans la colonne 1 les
valeurs qui seraient dans la colonne 2 et pas dans la colonne 1

Sub CompareTwoColonnes()
Dim Cell As Range, Plage As Range, I As Long
Set Plage = Range("A1", [A1].End(xlDown))
I = Plage.Count
Application.ScreenUpdating = False
For Each Cell In Range("B1", [B1].End(xlDown))
If Plage.Find(Cell, Plage(1), xlValues, xlWhole) Is Nothing Then
I = I + 1
Cells(I, 1) = Cell
End If
Next Cell
End Sub


mais je ne comprend pas pourquoi il ne marche pas lorsque l'on compare
des dates cad que les ranges plage et Range("B1", [B1].End(xlDown))
contiennent des dates
MERCI BCP POUR VOTRE AIDE

7 réponses

Avatar
Daniel
Bonjour.
Ca fonctionne, chez moi (XL 2003).
Cordialement.
Daniel
"aline" a écrit dans le message de news:

voici un bout de code qui permet de d'ajouter dans la colonne 1 les
valeurs qui seraient dans la colonne 2 et pas dans la colonne 1

Sub CompareTwoColonnes()
Dim Cell As Range, Plage As Range, I As Long
Set Plage = Range("A1", [A1].End(xlDown))
I = Plage.Count
Application.ScreenUpdating = False
For Each Cell In Range("B1", [B1].End(xlDown))
If Plage.Find(Cell, Plage(1), xlValues, xlWhole) Is Nothing Then
I = I + 1
Cells(I, 1) = Cell
End If
Next Cell
End Sub


mais je ne comprend pas pourquoi il ne marche pas lorsque l'on compare
des dates cad que les ranges plage et Range("B1", [B1].End(xlDown))
contiennent des dates
MERCI BCP POUR VOTRE AIDE



Avatar
Jacky
Bonsoir Aline

Vérifie la valeur de I par
Msgbox I

Salutations
JJ

"Daniel" a écrit dans le message de
news:%
Bonjour.
Ca fonctionne, chez moi (XL 2003).
Cordialement.
Daniel
"aline" a écrit dans le message de news:

voici un bout de code qui permet de d'ajouter dans la colonne 1 les
valeurs qui seraient dans la colonne 2 et pas dans la colonne 1

Sub CompareTwoColonnes()
Dim Cell As Range, Plage As Range, I As Long
Set Plage = Range("A1", [A1].End(xlDown))
I = Plage.Count
Application.ScreenUpdating = False
For Each Cell In Range("B1", [B1].End(xlDown))
If Plage.Find(Cell, Plage(1), xlValues, xlWhole) Is Nothing Then
I = I + 1
Cells(I, 1) = Cell
End If
Next Cell
End Sub


mais je ne comprend pas pourquoi il ne marche pas lorsque l'on compare
des dates cad que les ranges plage et Range("B1", [B1].End(xlDown))
contiennent des dates
MERCI BCP POUR VOTRE AIDE







Avatar
aline
mais moi j'ai Xl 1997
Avatar
aline
quand je dis au ça ne fonctionne pas c'est qu'il recopie toutesl
valeurs dans Range("B1", [B1].End(xlDown)) meme si celle ci existent
dans le rane plage
Merci pour l'aide
Avatar
aline
pas de pb avec I mais je pense qu'il y a pb entre la fonction Find et
le format date
Avatar
Daniel
Peux-tu mettre ton classeur sur http://cjoint.com ?
Daniel
"aline" a écrit dans le message de news:

quand je dis au ça ne fonctionne pas c'est qu'il recopie toutesl
valeurs dans Range("B1", [B1].End(xlDown)) meme si celle ci existent
dans le rane plage
Merci pour l'aide
Avatar
Ange Ounis
Au lieu d'utiliser la propriété par défaut des objets Range (Value), essaye avec
la propriété Value2 (contient la date, si la cellule contient une date, sous
forme d'un nombre de jours depuis le 1/1/1900, pour le calendrier par défaut).
Par exemple :

If Plage.Find(Cell.Value2, Plage(1).Value2, xlValues, xlWhole) Is Nothing Then
I = I + 1
Cells(I, 1).Value2 = Cell.Value2
End If

----------
Ange Ounis
----------

voici un bout de code qui permet de d'ajouter dans la colonne 1 les
valeurs qui seraient dans la colonne 2 et pas dans la colonne 1

Sub CompareTwoColonnes()
Dim Cell As Range, Plage As Range, I As Long
Set Plage = Range("A1", [A1].End(xlDown))
I = Plage.Count
Application.ScreenUpdating = False
For Each Cell In Range("B1", [B1].End(xlDown))
If Plage.Find(Cell, Plage(1), xlValues, xlWhole) Is Nothing Then
I = I + 1
Cells(I, 1) = Cell
End If
Next Cell
End Sub


mais je ne comprend pas pourquoi il ne marche pas lorsque l'on compare
des dates cad que les ranges plage et Range("B1", [B1].End(xlDown))
contiennent des dates
MERCI BCP POUR VOTRE AIDE