liste déroulante - recherche - vlookup ??

  • Initiateur de la discussion Initiateur de la discussion pitchoune85
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

P

pitchoune85

Guest
Bonjout le forum
je viens vers vous pour de l'aide avec la fonction recherche en vba :
j'ai créer un formulaire avec une liste déroulante faisant réf à une colonne nommé 'nom' défini avec la fonction décaler.
cette liste me donne le nom prénom de personnes.
j'aimerai, qd je choisi une personne de la liste
ça m'ouvre une msgbox me demandant si je veux vraiment supprimer cette personne : si oui, ca me supprime la ligne contenant cette personne, si non, je choisi une autre personne ou je quitte le formulaire
merci de votre aide
pitchoune
 
salut

voila un début qui pourrait te servir

Sub effacer()
Dim MaListe As Range
Set MaListe = ActiveCell

If MaListe.Column (différent de) 2 Then

MsgBox ('Veuillez vous placer sur un Nom')

Exit Sub

ElseIf MaFichesynthèse.Row inf 3 Then

MsgBox ('Veuillez vous placer sur un Nom')

Exit Sub

Else

Dim sup As Double
sup = MsgBox('Voulez-vous supprimer cette personne', vbYesNo, 'DANGER')
If sup = vbYes Then
ActiveCell.Select
Selection.EntireRow.Delete
Range('A1').Select
MsgBox ('Fiche supprimée')
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

Else
MsgBox ('Annulation de l'opération suppression de Fiche')
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

End If

End If
End Sub


il te reste juste à determiner ou se trouvent tes colonnes et lignes avec les noms pour modifier les lignes suivantes dans le code que je t'ai donner:

If MaListe.Column diff 2 Then
ElseIf MaFichesynthèse.Row inf 3 Then

tu change les numéros de colonnes et de ligne
au fait, dans If MaListe... tu remplace MaListe par MaNomdetafeuille...
voila
pour ce qui est de pouvoir l'utiliser depuis ta liste deroul je sais po...

tient moi au courant

Message édité par: darnel, à: 14/03/2006 14:41
 
Salut,

Je crains fort que tu n'obtiennes de réponse.

'supprimer cette personne' est non seulement défendu par la morale, mais aussi punisable par la loi.

A moins que tu entendes par là 'supprimer le nom de cette personne de la liste'.

Hélas, je ne puis te venir en aide pour des macros, je le regrette crois-le.

Ne t'impatientes pas, un macrotiste ne va pas tarder.

Â+

EDITION :
salut Darnel, je ne t'avais pas vu.

Message édité par: andré, à: 14/03/2006 14:40
 
j'ai trouvé cette macro qui fonctionne si la liste se trouve en colonne A du tableau

la mienne se trouve en colonne AV

est ce que quelqu'un saurait les modif a apporter

merci
pitchoune

Dim Var
Dim NumLg
On Error Resume Next
Var = Usf3.ComboBox1
Cells.Find(What:=Var, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Activate
ActiveCell.Select
With Application.ActiveCell
NumLg = .Row
End With
ActiveCell.EntireRow.Select
Style = vbYesNo + vbDefaultButton1
Msg = 'Suppression de la ligne N°: ' & NumLg
Title = 'Attention suppression de la ligne.'
Réponse = MsgBox(Msg, Style, Title)
If Réponse = vbYes Then
Selection.Delete Shift:=xlUp
Else
Exit Sub
End If
End Sub
 
merci andré et darnel
André, la macro que je viens de fournir m'indique 'suppression de la ligne ' !!! donc pas de souci concernant l'
darnel, je regarde tout de suite ta soluc et te tiens au courant
merci
 
Bonjour Pitchoune, mon cher Ândré, Damel, le Forum

Voici une solution pour supprimer des personnes de ta colonne 'Avé' (César! ceux qui vont mourir te saluent !!!)

Car comme on le sait bien VBA peut signifier aussi Very Big Apocalypse !!! lol)

Option Explicit

Private Sub CommandButton1_Click()
Dim MyVar As String
Dim Reponse As Byte
Dim Cell As Range
Dim WS As Worksheet

Set WS = ThisWorkbook.Worksheets('Sheet1')

MyVar = ComboBox1
Set Cell = WS.Cells.Find(What:=MyVar, LookAt:=xlPart)

If Not Cell Is Nothing Then
    Reponse = MsgBox('Suppression de la ligne N° ' & Cell.Row, _
                vbQuestion + vbYesNo, 'Attention suppression de la ligne pour ' & MyVar)


   
If Reponse = vbYes Then
        WS.Rows(Cell.Row).Delete
   
End If

Else
    MsgBox 'Item ' & MyVar & 'Non Trouvé !'

End If

End Sub


Bon Aprèm
[ol]@+Thierry[/ol]
 
Bonjour thierry, et tous le forum
merci pour ta proposition
mais a chaque fois que je choisi un élève,
j'ai 'item non trouvé'
j'essaye d'extraire une partie du fichier pour vous l'envoyer
 
comme convenu
ci joint un extrait de mon fichier avec la macro supprimer
merci bcp [file name=Classeur2_20060316100924.zip size=48534]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur2_20060316100924.zip[/file]
 

Pièces jointes

houps
thierry
je n'avais pas mis la macro au bon endroit mais ça ne fonctionne toujours pas... :ermm: [file name=Classeur2bis_20060316101530.zip size=48347]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur2bis_20060316101530.zip[/file]
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
XL 2021 listbox
Réponses
18
Affichages
651
Réponses
1
Affichages
634
Retour