Recherche de donne dans un autre classeur

mamounette 17 -  
 mamounette 17 -
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

  1. Fahora Messages postés 949 Statut Membre 68
     
    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
  2. mamounette 17
     
    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
    1. Fahora Messages postés 949 Statut Membre 68
       
      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
      1. mamounette 17 > Fahora Messages postés 949 Statut Membre
         
        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
    2. Fahora Messages postés 949 Statut Membre 68
       
      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
      1. mamounette 17 > Fahora Messages postés 949 Statut Membre
         
        Je te remercie j'essaie et te tiens au courant si ça marche!
        0