IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Sélection de plusieurs cellules par rapport à une cellule [XL-2016]


Sujet :

Excel

  1. #1
    Nouveau membre du Club
    Inscrit en
    Août 2010
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 87
    Points : 30
    Points
    30
    Par défaut Sélection de plusieurs cellules par rapport à une cellule
    Bonjour à tous,

    J'ai un classeur avec 2 onglets, dans les 2 onglets 2 tableaux identiques : A1 date, B1 fournisseur. C1 montant ht, etc..
    je souhaiterais que les infos du premier tableau se reportent automatiquement dans le tableau du 2ème onglet en ayant comme critère la sélection par date et par année.
    j'espère m'être exprimé clairement.
    Si vous pouviez m'indiquer le formule à utiliser pour sélectionner la ligne complète par rapport à une cellule , ce serait sympa.
    Merci à vous.
    Cordialement.
    Dom

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par pouldom Voir le message
    Bonjour,

    Regardez ceci : advancedfilter

  3. #3
    Nouveau membre du Club
    Inscrit en
    Août 2010
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 87
    Points : 30
    Points
    30
    Par défaut
    Bonjour,

    Merci pour votre réponse,.
    En fait, je souhaiterai que cette fonction se fasse automatiquement.
    Est ce possible?

    Merci.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par pouldom Voir le message
    J'utilise régulièrement les filtres avancés pour faire des calculs intermédiaires avec une grande quantité de cas sur des tableaux de plusieurs milliers de lignes.
    Une fois mis au point, les critères et la présentation, j'automatise l'établissement, le changement des critères et le lancement de la recherche avec une macro.
    L'avantage est que le résultat est quasi instantané pour chaque item.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 82
    Points : 70
    Points
    70
    Par défaut
    Bonjour,
    vous pouvez linker les 2 tableaux via une requette Query (dans l'onglet data). Ensuite ce sera automatique

  6. #6
    Nouveau membre du Club
    Inscrit en
    Août 2010
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 87
    Points : 30
    Points
    30
    Par défaut
    Bonsoir,

    Merci pour vos réponses.
    Désolé, je ne sais pas faire une macro.
    Et linker ?

    Je suis vraiment novice, j'essaie de réaliser mais c'est parfois pas évident.

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par pouldom Voir le message
    Avez-vous avez réussi à mettre au point l'extraction par filtre avancé sur un autre onglet ?
    Si oui, il suffit d'enregistrer une macro qui modifie les paramètres d'extraction. Ensuite, mettez votre fichier en ligne avec la macro et indiquez ce qui doit varier.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 82
    Points : 70
    Points
    70

  9. #9
    Nouveau membre du Club
    Inscrit en
    Août 2010
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 87
    Points : 30
    Points
    30
    Par défaut
    Bonsoir,

    Non, je n'ai pas réussi, mais je vais m'y pencher plus en détail.
    J'ai un message qui me dit que je ne peux copier sur une autre feuille.
    Merci

  10. #10
    Nouveau membre du Club
    Inscrit en
    Août 2010
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 87
    Points : 30
    Points
    30
    Par défaut
    Rebonjour,

    Je reviens vers vous car je n'arrive pas à exploiter vos conseils et là je suis vraiment perdu.

    Merci de bien vouloir me conseiller.

    Cordialement.

  11. #11
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par pouldom Voir le message
    Mettez un fichier en ligne sans données confidentielles et indiquez ce que vous voulez obtenir dans votre deuxième onglet.

  12. #12
    Nouveau membre du Club
    Inscrit en
    Août 2010
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 87
    Points : 30
    Points
    30
    Par défaut
    Merci de votre aide .

    Je souhaiterais que les informations de l'onglet achats 2019 soient automatiquement copiés dans l'onglet Achats 2019 et idem pour Achats 2020.
    En fait il y a 3 tableaux identiques : achats 2019 2020 qui est utilisé pour une année sportive 2019 2020 et les deux autres par année civile.
    Pour éviter de ressaisir en 3 fois , il faudrait qu'en 1 seule saisie dans le premier tableau que des copies se fassent dans les deux autres par année.
    J'espère avoir été clair dans mon explication.

    Merci d'avance.

    Cordialement.
    Fichiers attachés Fichiers attachés

  13. #13
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par pouldom Voir le message
    J'ai pas mal modifié votre fichier. Pour utiliser le filtre avancé, choisissez le l'année ou le mois en cellule D7 de l'onglet année civile.

    Pièce jointe 491879

  14. #14
    Nouveau membre du Club
    Inscrit en
    Août 2010
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 87
    Points : 30
    Points
    30
    Par défaut
    Bonsoir,

    C'est vraiment ce que je voulais faire.
    Je vous remercie infiniment.

    Quel est le principe de fonctionnement ? Car bien évidemment, le principal est d'apprendre.
    Bonne soirée et encore merci.

    Cordialement
    Dom

  15. #15
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par pouldom Voir le message
    Le fichier contient un onglet Paramètres contenant la table des mois avec les informations Date début et Date fin qui viendront alimenter la zone Criteres du filtre avancé présent sur l'onglet J Achats année civile :

    Pièce jointe 491905

    La cellule D7 est une Validation de données liée à la table des mois par cette formule :

    Pièce jointe 491908

    Le changement de la valeur de la cellule enclenche l'événement suivant dans le module de l'onglet "J Achats année civile" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Worksheet_Change(ByVal Target As Range)
     
        If Target.Count > 1 Then Exit Sub
     
        If Not Intersect(Target, Range("Annee_Mois")) Is Nothing Then
           RechercheDebutEtFinDeMois Target
           FiltrerLesAchats Sheets("J Achats année civile"), Sheets("J Achats").Range("TableDesAchats")
        End If
     
    End Sub
    La procédure RechercheDebutEtFinDeMois change les valeurs des dates début et fin sur l'onglet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    Sub RechercheDebutEtFinDeMois(ByVal ValeurAnneeMois As String)
     
    Dim I As Long
    Dim AireMois As Range
     
        Set AireMois = Sheets("Paramètres").ListObjects("TableDesMois").ListColumns("Mois").DataBodyRange
        For I = 1 To AireMois.Count
            If CStr(AireMois(I)) = ValeurAnneeMois Then
               With Sheets("J Achats année civile")
                    .Range("MoisDebut") = AireMois(I).Offset(0, 1)
                    .Range("MoisFin") = AireMois(I).Offset(0, 2)
               End With
            End If
     
        Next I
        Set AireMois = Nothing
     
    End Sub
    Les valeurs, une fois modifiée, permettent le lancement du filtre avancé avec cette procédure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
     
    Sub FiltrerLesAchats(ByVal ShFiltreAvance2 As Worksheet, ByVal TableEnCours2 As Range)
     
    Dim AireDesCodesDExtraction As Range, AireTitreExtraction As Range
     
        With ShFiltreAvance2
     
             .Activate
     
                Set AireDesCodesDExtraction = .Range("Criteres2019")
                Set AireTitreExtraction = .Range("A10:U10")
     
                TableEnCours2.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=AireDesCodesDExtraction, CopyToRange:=AireTitreExtraction, Unique:=False
     
                Set AireDesCodesDExtraction = Nothing
                Set AireTitreExtraction = Nothing
     
        End With
     
    End Sub
    Remarques :

    • L'aire d'extraction peut contenir tout ou partie des champs du tableau d'origine et l'ordre des champs peut être modifié.
    • La zone Criteres2019 aurait pu s'appeler autrement, au départ le fichier contenait un onglet par année civile.
    • Curieusement, j'ai du appliquer le format anglo-saxon pour les paramètres du filtre.
    • Pour l'automatisation, il faut jouer le filtre avancé manuellement auparavant pour qu'Excel définisse ses zones Criteres et Extrait sur l'onglet.



    La table d'origine peut contenir plusieurs milliers d'enregistrements, la vitesse d'extraction est quasi immédiate. Lorsque je dois exécuter une boucle, j'extrais d'abord l'échantillon sur lequel la recherche doit être exécutée et je boucle sur un nombre très limité d'enregistrements plutôt que sur toute la base.

  16. #16
    Nouveau membre du Club
    Inscrit en
    Août 2010
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 87
    Points : 30
    Points
    30
    Par défaut
    Bonjour,

    Et bien un grand merci pour ces explications.
    Maintenant, je vais essayer de comprendre la manip.
    Encore merci.

    Cordialement.
    Dom

  17. #17
    Nouveau membre du Club
    Inscrit en
    Août 2010
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 87
    Points : 30
    Points
    30
    Par défaut
    Bonjour,

    Une petite question peut on faire avec ce système un onglet pour 2019 et un autre pour 2020.
    Merci.

    Cordialement.
    Dom

  18. #18
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par pouldom Voir le message
    Oui.

  19. #19
    Nouveau membre du Club
    Inscrit en
    Août 2010
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 87
    Points : 30
    Points
    30
    Par défaut
    Je dois donc coller l'onglet ou dois je refaire la procédure complète ?

  20. #20
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par pouldom Voir le message
    Vous pouvez dupliquer l'onglet, mail il faudra adapter le code.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Bloquer une cellule par rapport à une sélection
    Par CALLEBOUT dans le forum Excel
    Réponses: 8
    Dernier message: 14/07/2011, 13h16
  2. [XL-2007] Position d'une UserForm par rapport à une cellule
    Par ESVBA dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/10/2009, 17h23
  3. Copier/coller d'une cellule par rapport à une autre
    Par AzelRoth dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 26/02/2009, 15h54
  4. Réponses: 1
    Dernier message: 17/08/2007, 09h09
  5. Réponses: 4
    Dernier message: 02/08/2007, 19h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo