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

Recherchev sous excel

  • Initiateur de la discussion Initiateur de la discussion AZQ13
  • 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 !

A

AZQ13

Guest
Userform comment rentrer une donnée et la rechercher avec un userform
 

Pièces jointes

Dernière modification par un modérateur:
Re : Ventiler par activité (Base de données) VBA

Hello
et bienvenu ici

pour débuter.....
place ce code pour le bouton de ton formulaire
Code:
Private Sub CommandButton1_Click()
nb = Sheets("BDD").Range("A65536").End(xlUp).Row
Sheets("BDD").Activate
Sheets("BDD").Range("$A$1:$F$9").AutoFilter Field:=3, Criteria1:=Activite.Value
Range("A2:F" & nb).SpecialCells(xlVisible).Select
Selection.Copy
   
   
    Sheets.Add After:=Sheets(Sheets.Count)
    ActiveSheet.Paste
    ActiveSheet.Name = Activite.Value
    Sheets("BDD").Select
    ActiveSheet.Range("$A$1:$F$" & nb).AutoFilter Field:=3
    Application.CutCopyMode = False
    
End Sub

1) ne marchera que si les onglets sont inexistants.. il n'y a aucun test.... pour l'instant.. ;-)
2) peut TREEEEESS certainement se faire avec formule.. sans passer par le VBA
 
Re : Ventiler par activité (Base de données) VBA

avec une évolution: test d'existence..

Code:
Private Sub CommandButton1_Click()
Sheets("BDD").Activate
nb = Sheets("BDD").Range("A65536").End(xlUp).Row

'on applique un filtre sur la colonne C - avec l'activité choisie
Sheets("BDD").Range("$A$1:$F$" & nb).AutoFilter Field:=3, Criteria1:=Activite.Value
Range("A2:F" & nb).SpecialCells(xlVisible).Select
Selection.Copy
   
   
'on recherche dans le classeur si l'onglet est déjà créé ou pas
dejacree = False
For Each ws In Worksheets
    If ws.Name = Activite.Value Then
        dejacree = True
        'et la. on fait quoi? on écrase?
    End If
Next ws
    If Not (dejacree) Then
        Sheets.Add After:=Sheets(Sheets.Count)
        ActiveSheet.Name = Activite.Value
    End If
    Sheets(Activite.Value).Activate
    ActiveSheet.Paste
    
    'on revient sur la BDD et on enlève le filtre
    Sheets("BDD").Select
    ActiveSheet.Range("$A$1:$F$" & nb).AutoFilter Field:=3
    Application.CutCopyMode = False
    
End Sub
 
Re : Ventiler par activité (Base de données) VBA

Impeccable vgendron, super rapide et efficace 🙂 merci beaucoup

Juste 2 petits points supplémentaires :
- La feuille BDD doit rester intacte alors que là elle se modifie en même temps que la page créée
- Est-il possible de renommer le nom de la feuille avec l'activité ?

Grand grand merci !
 
Re : Recherchev sous excel

Hello

- La feuille BDD doit rester intacte alors que là elle se modifie en même temps que la page créée

Je ne comprend pas bien.. normalement, il n'y a qu'un filtre qui est appliqué en cours de macro et à la fin je le supprime..
donc la feuille BDD n'est pas modifiée.. ??
 
- 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

Réponses
13
Affichages
341
Réponses
13
Affichages
352
Réponses
9
Affichages
263
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…