Bonjour!
J'ai une macro qui est censée effacer des lignes (effacer la valeur des cellules de la ligne, et non pas effacer la ligne).
On écrit le numéro de série qui se trouve en colonne A, et la ligne s'efface.
Comme ça efface aussi le numéro en colonne A, il y a une macro qui "tire vers le bas" depuis la premiere ligne (qui ne s'efface jamais) la formule qui inscrit automatiquement le numéro de série.
Au début tout fonctionnait et puis soudain maintenant, ça ne fait rien. Aucun bug mais aussi aucun effet.
Seulement si on essaie d'effacer la ligne 1, on reçoit le message voulu, ou si on presse sur OK en n'ayant rien inscrit comme ligne à effacer, on reçoit aussi le message voulu selon la macro.
Donc je suppose que le problème se situe dans la partie qui est censèe agir sur l'effacement des lignes; ie:
Sub deleterow()
Dim i As Integer
Dim Editeur As Variant
Editeur = InputBox("Veuillez indiquer le numéro de l'hôtel à supprimer", "Supprimer", " ")
'la valeur saisie est transmise à la variable Editeur
With ThisWorkbook.Sheets("hotels ")
For i = .Range("a" & .Rows.Count).End(xlUp).Row To 2 Step -1
If .Range("a" & i).Value = Editeur Then
Rows(i).ClearContents
End If
Next i
End With
End Sub
Je vous mets aussi le code complet, et je vous joins le fichier.
Merci d'avance à ceux ou celles qui pourront m'aider à résoudre ce petit problème
Sub deleterow()
Dim i As Integer
Dim Editeur As Variant
Editeur = InputBox("Veuillez indiquer le numéro de l'hôtel à supprimer", "Supprimer", " ")
If Editeur = 1 Then
MsgBox "Vous ne pouvez effacer cette ligne! L'opération est avortée."
Exit Sub
Else
End If
If (Editeur = " " Or Editeur = 0) Then
MsgBox "Vous n'avez choisis aucun hôtel à effacer. L'opération est avortée."
Exit Sub
Else
End If
'la valeur saisie est transmise à la variable Editeur
With ThisWorkbook.Sheets("hotels ")
For i = .Range("a" & .Rows.Count).End(xlUp).Row To 2 Step -1
If .Range("a" & i).Value = Editeur Then
Rows(i).ClearContents
End If
Next i
End With
Call Fill_Down
Call SortDataWithoutHeader
End Sub