Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Effacer le contenu d'une ligne

1 réponse
Avatar
Furion
Bonjour à tous !

Après avoir passé une bonne partie de la nuit à résoudre mon problème, je
dois me résigner et vous le soumettre en espérant que qqun pourra m'aider.

J'ai un tableau comportant 2 colonnes. La 1ère contient un numéro
d'immatriculation et la seconde le type de la voiture correspondante.

Je veux qu'après avoir saisi le numéro d'immatriculation via un userform, la
ligne contenant le numéro désigné soit effacée. J'ai essayé ça mais ça marche
pas :

Numero_a_supprimer = Textbox1
Nombre_de_lignes = 10
For Compteur = 2 To Nombre_de_lignes
If Cells(compteur,1) = Numero_a_supprimer Then
Cells(compteur,1) = ""
Cells(compteur,2) = ""
End If
Next


Qqun pourrait me mettre au moins sur la voie ? Merci d'avance à tous
P.S. : Je suis obligé d'utiliser des variables pour désigner mes numéro de
ligne et de colonne car l'utilisateur peut aussi rajouter des lignes

1 réponse

Avatar
Pierre Fauconnier
Bonjour

J'utiliserais la méthode Find pour trouver la plage. C'est plus rapide que
la boucle

Sub Effacer_Ligne_Plaque(Plaque As String)
Dim Cellule As Range

Set Cellule = Range("A:A").Find(what:=Plaque, LookIn:=xlValues,
lookat:=xlWhole)
If Not Cellule Is Nothing Then
Range(Cellule, Cellule(1, 2)).Delete xlUp
Else
MsgBox "Plaque non trouvée"
End If
End Sub

Attention, cette macro ne décale vers le haut que les cellules, pas les
lignes entières. Personnellement, j'aime mieux, plutôt supprimer la ligne
entière avec
cellule.entirerow.delete

Ok?


--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"Furion" a écrit dans le message de news:

Bonjour à tous !

Après avoir passé une bonne partie de la nuit à résoudre mon problème, je
dois me résigner et vous le soumettre en espérant que qqun pourra m'aider.

J'ai un tableau comportant 2 colonnes. La 1ère contient un numéro
d'immatriculation et la seconde le type de la voiture correspondante.

Je veux qu'après avoir saisi le numéro d'immatriculation via un userform,
la
ligne contenant le numéro désigné soit effacée. J'ai essayé ça mais ça
marche
pas :

Numero_a_supprimer = Textbox1
Nombre_de_lignes = 10
For Compteur = 2 To Nombre_de_lignes
If Cells(compteur,1) = Numero_a_supprimer Then
Cells(compteur,1) = ""
Cells(compteur,2) = ""
End If
Next


Qqun pourrait me mettre au moins sur la voie ? Merci d'avance à tous
P.S. : Je suis obligé d'utiliser des variables pour désigner mes numéro de
ligne et de colonne car l'utilisateur peut aussi rajouter des lignes