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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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 (pierre.fauconnier@nospam.nospam)
"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" <Furion@discussions.microsoft.com> a écrit dans le message de news:
989948CE-C40D-432F-AEF8-E93D1F5749D7@microsoft.com...
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
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