Salut le forum
Je copie certaines données de ma feuille PARAMETRE vers une autre feuille inititulé STATBSMS.
Je souhaite pour éviter les doublons dans la feuille STATBSMS donner instruction que lors de l'exécution de la macro COPIER_BSMS, si le numero de compte de la cellule PARAMETRE!AE7 est déjà presente dans la colonne C de la feuille STATBSMS, qu'il n'y ait pas de collage.
Le code ci-dessous devrait faire mon affaire mais il ne filtre pas les doublons.
Merci de l'apprécier svp.
Je copie certaines données de ma feuille PARAMETRE vers une autre feuille inititulé STATBSMS.
Je souhaite pour éviter les doublons dans la feuille STATBSMS donner instruction que lors de l'exécution de la macro COPIER_BSMS, si le numero de compte de la cellule PARAMETRE!AE7 est déjà presente dans la colonne C de la feuille STATBSMS, qu'il n'y ait pas de collage.
Le code ci-dessous devrait faire mon affaire mais il ne filtre pas les doublons.
Merci de l'apprécier svp.
Code:
Sub COPIER_BSMS()
Dim TB(6) As String
Dim LigneVide As Long, i As Integer
Sheets("PARAMETRE").Visible = xlSheetVeryHidden
'verification des identifiants
If Sheets("PARAMETRE").Range("AF7").Value = "" Then
MsgBox ("Le client ne veut pas de BSMS")
Exit Sub
ElseIf Application.WorksheetFunction.CountIf(Sheets("STATBSMS").Range("C3:C" & Sheets("STATBSMS").Range("c65536").End(xlUp).Row), Range("ae7").Value) > 0 Then
MsgBox ("Ce compte est déjà présent dans la feuille STATBSMS")
Exit Sub
End If
With Sheets("PARAMETRE")
'copie des cellules
TB(1) = .Range("ae6").Value 'date
TB(2) = .Range("ae7").Value 'Cpte
TB(3) = .Range("ae8").Value 'Intitulé
TB(4) = .Range("ae9").Value 'Téléphone
TB(5) = .Range("ae11").Value 'ref pièce
TB(6) = .Range("ae13").Value 'Code agent
End With
'Avec la feuille de destination
With Sheets("STATBSMS")
'selection de la première cellule vide
LigneVide = .Cells(Rows.Count, 2).End(xlUp).Row
If LigneVide > 1 Then LigneVide = LigneVide + 1
'Copie les données
For i = 1 To 6
.Cells(LigneVide, i + 1) = TB(i)
Next i
Sheets("ACCES AU SGIOC").Select
Range("F17").Select
End With
End Sub