Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 Rechercher valeur et supprimer ligne

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 !

harry226h

XLDnaute Junior
Bonjour a tout le monde
J'ai besoin d'un coup de main sur une operation.
Dans le fichier ci-joint, avec la premier userform j'aimerais que la valeur tapée dans le champ nom soit recherché dans la colonne 1 des feuilles "dex", dex2 et de3 et la ligne supprimée correspondante supprimé dans ces feuille.
Avec le second userform, j'aimerai que la valeur saisie en nom soit recherché et ensuite les box prenom et ville seront copiées dans les cellules correspondante.
Merci d'avance
 

Pièces jointes

Bonjour,

Pour la suppression des lignes, suivant ce que j'ai compris
VB:
Private Sub CommandButton1_Click()
   Dim Ws As Worksheet, c As Range, dl As Integer
   For Each Ws In Worksheets
      If Ws.Name = "DEX" Or Ws.Name = "DEX2" Or Ws.Name = "DEX3" Then
         dl = Ws.Range("a" & Rows.Count).End(xlUp).Row
         For Each c In Ws.Range("a2:a" & dl)
            If UCase(c.Value) = UCase(Me.TextBox1) Then c.EntireRow.Delete
         Next
      End If
   Next Ws
   Unload Me
End Sub
Pour ton second formulaire, le nom sera rechercher sur quelle feuille?
Bonne journée.
 
à tester
VB:
Private Sub CommandButton1_Click()
   Dim Ws As Worksheet, dl As Integer, Plage As Range, i As Byte
   For i = 1 To 3
      If Controls("textbox" & i) = "" Then
         MsgBox "Complétez les champs vides!"
         Exit Sub
      End If
   Next i
   For Each Ws In Worksheets
      If Ws.Name = "DEX" Or Ws.Name = "DEX2" Or Ws.Name = "DEX3" Then
         dl = Ws.Range("a" & Rows.Count).End(xlUp).Row
         Set Plage = Ws.Range("a2:a" & dl)
         Set nom = Plage.Find(what:=UCase(Me.TextBox1))   ', lookat:=xlWhole) '-->pour valeur exacte
         If Not nom Is Nothing Then
            lig = nom.Row
            For i = 1 To 3
               Ws.Cells(lig, i) = UCase(Controls("TextBox" & i))
            Next i
         Else
            MsgBox UCase(Me.TextBox1) & " non trouvé!", vbInformation, "RECHERCHE NOM"
            Exit Sub
         End If
      End If
   Next Ws
   MsgBox "Correction terminée!"
End Sub
 
- 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

Discussions similaires

Réponses
2
Affichages
253
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…