Condition en VBA

J

jc de lorient

Guest
Bonjour le forum

j'aimerais pouvoir rajouter une condition au code suivant (qui n'est pas de moi bien sur !! :)

si la valeur de "fiche_paye!I9" se trouve déjà dans la colonne A de ma feuille "Récap!" alors afficher un truc du genre "Déjà enregistrée!!" sinon exécuter la marro

Sub MultiCellCopy()
Dim DataSource(50) As Variant
Dim LastLine As Long
Dim Item As Variant
Dim i As Byte, y As Byte

LastLine = Sheets("Récap").Range("A65536").End(xlUp).Row + 1


For Each Item In Array("i9", "e21", "f21", "e22", "e23", "g25", "g26", "g29", "f31", "f33", _
"f35", "f43", "f45", "f49", "f51", "f53", "f55", "f57", "j31", "j33", _
"j35", "j37", "j39", "j41", "j43", "j45", "j47", "j49", "j51", "j53", _
"j55", "k59", "i61", "k61", "g65", "f67", "f69", "e71", "f71", "e75", _
"f75", "i62", "i63", "i64", "k62", "k63", "k64", "e76", "f76", "i76", "k76")

DataSource(i) = Sheets("fiche_paye").Range(Item)
i = i + 1
Next

For y = 1 To 51
With Sheets("Récap")
.Cells(LastLine, y) = DataSource(y - 1)
End With
Next

End Sub

merci a celui ou celle qui m'apportera son aide !

bonne journée

JC
 
R

Rai

Guest
Salut JC,

Essaie la chose suivante :

Insère la ligne
If Sheets("Récap").Range("A1:A" & LastLine).Find(Sheets("fiche_paye").[I9]) Is Nothing Then

avant For each item...


et n'oublie pas d'insérer
End If

juste avant ton End Sub


C'est sans garantie, je n'ai pas eu le temps de tester.

Tiens moi au courant.

Rai
 
J

jc de lorient

Guest
Salut Rai

j'ai essayé ton code ça marche à la seule condition qu'il y est au moins une date dans ma colonne Récap!A sinon la macro ne fonctionne pas

Et vu que je vé démarrer avec des feuilles vierges ça n'est pas l'idéal a moins de mettre un ligne bidon avec une date bidon !!

Une petite aide supplémentaire comment et où afficher un message d'erreur si la ligne existe ?

merci de t'être planché sur ma requête !

JC
 

Discussions similaires

Statistiques des forums

Discussions
312 429
Messages
2 088 354
Membres
103 824
dernier inscrit
frederic.marien@proximus.