Valeur existe déja

F

Fabienne

Guest
Bonjour le forum,

J'aimerais depuis mon fichier existe.xls
aller chercher une ligne de donnée dans test.xls
et revenir les coller dans ma colonne A ça marche mais j'aimerais avoir un message d'erreur style 'cette valeur existe déja !' si la valeur est déja existante mais ça je n'y arrive pas ...???

A+

Fabienne
[file name=Existe.zip size=11366]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Existe.zip[/file]
 

Pièces jointes

  • Existe.zip
    11.1 KB · Affichages: 23

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Fabienne, bonjour le forum,

Si tu ne compares que les valeurs de la colonne A (existe.xls) et la cellule A1 (test.xls), alors ta macro modifiée devrait fonctionner :

Sub ChercheDonnee()
Dim Val() As String 'déclare le tableau de variables Val
Dim Cel As Range 'déclare la variable Cel
Dim x As Integer, y As Integer 'déclare les variables x et y

x = 0 'définit la variable x
'remplissage du tableau de variables Val
'boucle sur toutes les cellules éditée Cel de la colonne A
For Each Cel In Range('A7:A' & Range('A65536').End(xlUp).Row)
ReDim Preserve Val(x) 'redimensionne le tableau Val
Val(x) = Cel.Value 'ajoute la valeur de la cellule au tableau Val
x = x + 1 'redéfinit la variable x
Next Cel 'prochaine cellule Cel de la colonne A


ChDir 'C:\\Temp'
Workbooks.Open Filename:='C:\\Test.xls'

'vérifie la cellule A1 avec toutes les valeurs du tableau Val
For y = LBound(Val, 1) To UBound(Val, 1)
'condition : si cellule A1 correspond à une valeur du tableau Val
If Val(y) = Range('A1').Value Then
MsgBox 'Cette valeur existe déjà!' 'message
Exit Sub 'sort de la procédure
End If 'fin de la condition
Next y

Range('A1:O1').Select
Selection.Copy
ActiveWorkbook.Close
Range('A65536').End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
End Sub
 

Statistiques des forums

Discussions
312 321
Messages
2 087 246
Membres
103 498
dernier inscrit
FAHDE