Re,
Désolé je ne t'ai pas indiqué la bonne ligne à supprimer, su tu débutes en VBA, voilà je vais essayer de t'expliquer mon code pour que tu comprennes ce que j'ai fait:
Option Explicit
Dim cell As Range
Dim L As Byte, I As Byte
Dim Ws1 As Worksheet, Ws2 As Worksheet
Sub Effaceligne()
Application.ScreenUpdating = False
'Désactive les défilements d'écran
Application.Calculation = xlCalculationManual
'On met le classeur en mode calcul manuel
Set Ws1 = Sheets("Feuille de saisie")
'Affectation de la feuille Feuille de saisie à la variable Ws1
Set Ws2 = Sheets("Fichier SAP")
'id pour fichier SAP
Set cell = Ws1.Range("C4")
L = Ws2.Range("N256").End(xlUp).Row
'Je récupère la dernière ligne vide de la colonne N dans Fichier SAP
If IsEmpty(cell) Then
'Je teste si cell(C4) est vide
MsgBox "La cellule contenant le N° de matricule est vide", vbOKOnly, "ERREUR"
GoTo Fin
Else: For I = 1 To L
If cell = Ws2.Range("N" & I) Then
' Si C4 est égal à NI alors
Ws2.Rows(I).Delete
' effacement de la ligne I
I = I - 1
'On ôte 1 à I puisqu'on vient d'effacer une ligne
End If
Next I
'on passe à la cellule suivante
End If
Ws1.Range("C4").ClearContents
'Ici on efface la cellule C4
Fin:
Application.Calculation = xlCalculationAutomatic
'C'est ici qu'il faut effacer la ligne
Application.ScreenUpdating = True
End Sub
Pour les sites en voilà 2 parmi tant d'autres que je trouve pédagogique, commence par celui de
le site pour débuter
puis par
Ce site n'existe plus.
PS: Jon, ton site est une mine d'infos importantes et moi le violet ne me dérange pas....Par contre tes interventions sur XLD ne sont pas toujours explicite pour des néophites contrairement à ton site...
A+++