Recherche de donne dans un autre classeur

Fermé
mamounette 17 - 1 août 2016 à 13:30
 mamounette 17 - 2 août 2016 à 09:39
Bonjour,

J'ai un tableau avec 3 colonnes nom; prénom et ville et je voudrais remplir automatiquement un tableau Excel d'un autres classeur mais en sélectionnant uniquement certaines villes.
Je ne sait pas comment faire, quelqu'un pourrais m'aider

2 réponses

Fahora Messages postés 814 Date d'inscription jeudi 24 septembre 2015 Statut Membre Dernière intervention 2 janvier 2023 68
1 août 2016 à 13:41
Bonjour ,

Tu as la possibilité de faire des filtres en fonction des villes.

tu peux utiliser la fonction recherchev.

Tes explications sont trop vagues pour qu'on puisse vraiment t'aider.
Il y a énormément de solutions à ta question.

Cordialement,
0
mamounette 17
1 août 2016 à 13:46
Merci, mais ce qu'il me faut c'est que toutes les personnes de la ville "A",se copie automatiquement dans un autre classeur Excel.
0
Fahora Messages postés 814 Date d'inscription jeudi 24 septembre 2015 Statut Membre Dernière intervention 2 janvier 2023 68
1 août 2016 à 13:54
Que veut dire automatiquement ?

1) Ca veut dire qu'il ne faut pas que tu fasses de copier/coller ?

2) Ca veut dire que lorsque tu ajoutes des lignes dans le fichier Alpha , elles doivent apparaitre dans le fichier Beta ?

3) Ca veut dire que même lorsque ton fichier beta est fermé, les lignes doivent s'ajouter quand même ?

Le mot automatiquement signifie qu'il y a un systeme qui est mis en place entre 2 éléments. Excel ne fait que ça :)
0
mamounette 17 > Fahora Messages postés 814 Date d'inscription jeudi 24 septembre 2015 Statut Membre Dernière intervention 2 janvier 2023
1 août 2016 à 17:50
automatiquement veut dire:

1) qu'il ne faut pas que tu fasses de copier/coller ?

2) que lorsque tu ajoutes des lignes dans le fichier Alpha , elles doivent apparaitre dans le fichier Beta ?

3) que même lorsque ton fichier beta est fermé, les lignes doivent s'ajouter quand même ?

et oui je suis exigeante!
0
Fahora Messages postés 814 Date d'inscription jeudi 24 septembre 2015 Statut Membre Dernière intervention 2 janvier 2023 68
Modifié par Fahora le 2/08/2016 à 08:32
Bonjour ,

Première chose : Crée un onglet nommé "Modèle" (M maj et accent sur le e) et copie la 1ere ligne de ton onglet de base dans celui-ci.

Puis voilà un code qui devrait faire ce que tu souhaites.

Sub CreerFeuilles()
Dim Cel As Range
Dim Dico
Dim ws
Dim newWk As Workbook

    Set Dico = CreateObject("Scripting.dictionary")
    Application.ScreenUpdating = False
    
        For Each Cel In .Range("C2:C" & .Range("C" & Rows.Count).End(xlUp).Row)
            If Not Dico.Exists(Cel.Value) Then
                Dico.Add Cel.Value, Cel.Value
                If Not FeuilleExiste(Cel.Value) Then
                    Sheets("Modèle").Copy After:=Sheets(Sheets.Count)
                    ActiveSheet.Name = Cel.Value
                End If
            End If
            Cel.EntireRow.Copy Sheets(Cel.Value).Range("A" & Rows.Count).End(xlUp).Offset(1)
        Next Cel
        .Activate

    Call saveOnglet
    Application.ScreenUpdating = True
    MsgBox "Traitement terminé"
End Sub

Public Function FeuilleExiste(NomFeuille As String) As Boolean
Dim ws As Worksheet
   FeuilleExiste = False
   For Each ws In ActiveWorkbook.Worksheets
      If ws.Name = NomFeuille Then
         FeuilleExiste = True
      End If
   Next
End Function

Sub saveOnglet()
Dim ws
Dim newWk As Workbook


Application.DisplayAlerts = False
    For Each ws In Worksheets
        ws.Activate
        Set newWk = Workbooks.Add(xlWBATWorksheet)
        ws.Copy newWk.Sheets(1)
        newWk.SaveAs (ws.Name & ".xls")
        newWk.Close
        Set newWk = Nothing
    Next ws
Application.DisplayAlerts = True
End Sub



Et lance la macro Creerfeuille
0
mamounette 17 > Fahora Messages postés 814 Date d'inscription jeudi 24 septembre 2015 Statut Membre Dernière intervention 2 janvier 2023
2 août 2016 à 09:39
Je te remercie j'essaie et te tiens au courant si ça marche!
0