Solution pour un problème VBA Excel.

Résolu/Fermé
2pax.cruz - 5 juil. 2010 à 08:17
Yoskopolite Messages postés 83 Date d'inscription lundi 14 juillet 2008 Statut Membre Dernière intervention 9 novembre 2012 - 5 juil. 2010 à 13:26
Bonjour,

j'ai un soucis en VBA excel. En fait, je n'arrive pas à voir comment je pourrais faire...
Je vous explique :

J'ai une liste en excel, que l'utilisateur rempli avec un formulaire. J'aimerais permettre à l'employé de supprimer des lignes facilement, sans devoir faire clic-droit supprimer.


Je vous remercie.
A voir également:

4 réponses

Yoskopolite Messages postés 83 Date d'inscription lundi 14 juillet 2008 Statut Membre Dernière intervention 9 novembre 2012 8
5 juil. 2010 à 08:43
Il te suffit (par le code) de sélectionner une des cases de la ligne concernée (dans mon exemple ci-dessous, ça sera A1) et de lui demander de supprimer toute la ligne :

Range("A1").EntireRow.Delete
0
Oui, ça je sais. Mais je ne sais pas comment je peux faire pour qu'il selectionne la ligne et qu'elle se supprime...


Merci.
0
Yoskopolite Messages postés 83 Date d'inscription lundi 14 juillet 2008 Statut Membre Dernière intervention 9 novembre 2012 8
5 juil. 2010 à 09:03
Je me suis mal exprimé, le code que je t'ai indiqué s'occupe de supprimer la ligne sans avoir à la sélectionner.
Mais j'ai peut-être pas tout compris à la question :-D

PS : si tu veux que l'utilisateur sélectionne une ligne et clique sur un bouton pour la supprimer, le code du bouton sera alors :

Activecell.EntireRow.Delete
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 306
5 juil. 2010 à 09:17
Bonjour,

Pour sélectionner une plage de cellules depuis ton userform tu as le contrôle "refedit" de la boite à outils...

tu as intérêt à vérifier que l'utilisateur n'a pris qu'une deule ligne dans le genre plage.rows.count=1(non testé)
0
Merci pour vos réponses.

J'ai mis un bouton sur ma page. L'utilisateur sélectionne une cellule et lorsqu'il clique, la ligne se supprime.

Mais comment puis-je faire une msgbox qui demande de confirmer la suppression de la ligne. De plus, j'aimerais savoir afficher la contenu de la première colonne dans la msgbox.



Merci encore.
0
J'ai su afficher le tete de la première colonne de la ligne sélectionnée.

Mais je n'arrive pas à faire de msgbox qui permette de faire ok ou cancel.
0
J'ai réussi. Merci encore.

Je mets le code pour ceux que ça intéresse ou que ça pourrait aider :



Sub SuppressionLigneProjet()

Ligne = ActiveCell.Row
Colonne = ActiveCell.Column
Texte = Cells(Ligne, 1)

Dim Reponse

Reponse = MsgBox("Are you sure that you want to delete the project : '" & Texte & "'", vbYesNo + vbExclamation, "Delete confirmation")

Select Case Reponse
Case vbYes 'si clic sur oui
Cells(Ligne, 1).EntireRow.Delete shift:=xlUp
Case vbNo 'Si le bouton cliqué est non
'on ne fait rien et la msgbox se ferme
End Select

End Sub
0
Yoskopolite Messages postés 83 Date d'inscription lundi 14 juillet 2008 Statut Membre Dernière intervention 9 novembre 2012 8
5 juil. 2010 à 13:26
Bien vu.

Mais le "shift:=xlUp", ça correspond déjà au réglage par défaut, non ?
0