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

Macros et VBA Excel Discussion :

Lier des cellules de deux feuilles dans un fichier Excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Femme Profil pro
    Responsable marketing opérationnel
    Inscrit en
    Avril 2011
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable marketing opérationnel
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Avril 2011
    Messages : 58
    Points : 59
    Points
    59
    Par défaut Lier des cellules de deux feuilles dans un fichier Excel
    Bonjour,

    je ne programme pas du tout en VBA, mais en faisant des recherches, j'ai compris que la solution à mon problème passait par VBA. J'en appelle donc à vos compétences!

    Mon fichier est structuré comme suit:
    - j'ai un fichier Excel (voir fichier joint) qui continent deux feuilles "Liste Innos" et "Détail Innos"
    - dans la feuille "Liste Innos", j'ai une liste d'innovations qui sont numérotées (dans mon fichier de 1 à 6, mais je vais en avoir de plus en plus chaque jour)
    - dans la feuille "Détail Innos", j'ai, sur ces mêmes innovations, des informations plus détaillées: pour une même innovation, je peux avoir plusieurs lignes
    - dans chaque feuille, la 1e colonne est le numéro de l'innovation

    Ce que je voudrais arriver à faire:
    - si je clique sur l'innovation N°1 dans la"Liste Innos", je voudrais basculer automatiquement sur le 1e enregistrement de l'innovation N°1 dans "Détail Innos"
    - et inversement, si je clique sur l'une des lignes de l'innovation N°1 dans "Détail Innos", je voudrais basculer automatiquement sur l'innovation N°1 dans "Liste Innos"

    Merci de votre aide.
    Fichier Innos.xlsx

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Ca peut se faire sans VBA en utilisant la fonction LIEN_HYPERTEXTE().
    Lire ça : https://support.microsoft.com/fr-fr/...7-7de9b76f577f

    L'adresse peut être construite en utilisant une fonction EQUIV() pour déterminer le numéro de ligne.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Membre du Club
    Femme Profil pro
    Responsable marketing opérationnel
    Inscrit en
    Avril 2011
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable marketing opérationnel
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Avril 2011
    Messages : 58
    Points : 59
    Points
    59
    Par défaut
    Bonjour,

    avec un lien hypertexte, on lie une cellule précise => si le fichier est trié par un utilisateur, ça ne fonctionne plus.
    Est-ce bien ça? J'ai bien compris le principe de cette fonction?
    Si c'est bien ça, alors je ne peux pas utiliser cette fonction.
    Une autre idée?

    Merci bcp pour votre aide.

  4. #4
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Olive2011 Voir le message
    avec un lien hypertexte, on lie une cellule précise => si le fichier est trié par un utilisateur, ça ne fonctionne plus.
    C'est pourquoi j'ai conseillé de construire l'adresse en utilisant une fonction EQUIV().
    Dans LIEN_HYPERTEXTE, l'adresse est constitué d'une simple chaine de caractère. On peut donc la construire en utilisant des fonctions de recherche comme EQUIV.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  5. #5
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 913
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 913
    Points : 5 119
    Points
    5 119
    Par défaut
    bonjour
    à tester (double clic)
    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
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Application.EnableEvents = False
    Dim F1 As Worksheet
    Dim f2 As Worksheet
    Set F1 = Sheets("Liste innos")
    Set f2 = Sheets("Détail innos")
    If Not Application.Intersect(Target, F1.Range("A2:A" & F1.Cells(Rows.Count, 1).End(xlUp).Row)) Is Nothing Then
    On Error Resume Next
    With ActiveCell
    Set C = f2.Range("A2:A2" & f2.Cells(Rows.Count, 1).End(xlUp).Row).Find(ActiveCell.Value, LookIn:=xlValues, lookat:=xlWhole)
      If Not C Is Nothing Then
      f2.Select
      f2.Cells(C.Row, "A").Select
      End If
    End With
    End If
    Application.EnableEvents = True
    End Sub
    idem pour feuille 2
    Fichiers attachés Fichiers attachés
    --------------------------------------------------------------*****----------------------------------------------------------------------------
    Bonne Continuation & Plein Succès
    Notre seul pouvoir véritable consiste à aider autrui avec modestie
    ______________________________________________________
    Pour dire merci, cliquer sur et quand la discussion est résolue, penser à cliquer sur le bouton

  6. #6
    Membre du Club
    Femme Profil pro
    Responsable marketing opérationnel
    Inscrit en
    Avril 2011
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable marketing opérationnel
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Avril 2011
    Messages : 58
    Points : 59
    Points
    59
    Par défaut
    Hello,

    ça fonctionne parfaitement! C'est exactement ce dont j'avais besoin!!!!
    Merci 1000 fois pour le coup de main, ça va me simplifier la vie

    Olive

  7. #7
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 729
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 729
    Points : 28 555
    Points
    28 555
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Vous commencez par écrire que vous ne connaissez pas VBA
    je ne programme pas du tout en VBA
    avec comme assertion
    , mais en faisant des recherches, j'ai compris que la solution à mon problème passait par VBA. J'en appelle donc à vos compétences!
    Menhir, que je salue au passage, vous dit le contraire
    Ca peut se faire sans VBA en utilisant la fonction LIEN_HYPERTEXTE(), en vous donnant un lien et en précisant L'adresse peut être construite en utilisant une fonction EQUIV() pour déterminer le numéro de ligne
    Vous lui répondez
    avec un lien hypertexte, on lie une cellule précise => si le fichier est trié par un utilisateur, ça ne fonctionne plus.
    à cela il vous reconfirme
    C'est pourquoi j'ai conseillé de construire l'adresse en utilisant une fonction EQUIV()
    Avez-vous lu le lien qu'il a référencé, avez-vous poussé plus loin vos recherches ?

    En copiant/collant un code VBA dont vous ignorez totalement ce qu'il fait, vous vous exposez un jour à avoir un bogue (par exemple, on renomme une feuille, on déplace le tableau, on insère une colonne)

    Alors qu'une simple formule à votre portée fait le même travail. Attention ce n'est pas un jugement mais un constat suite à ce que vous avez écrit
    Il serait préférable également de convertir vos listes de données en tableau structuré ce qui rendrait plus pérenne l'application

    La valeur cherchée est en colonne B (cellule B2) et la formule est à placer en cellule A2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =LIEN_HYPERTEXTE("#'Détail innos'!A" & EQUIV(B2;'Détail innos'!$B$1:$B$11;0);LIGNE()-1)
    Attention, je n'ai pas géré les cas où la valeur de A2 n'est pas trouvée en colonne B (pour l'instant, il renvoie l'erreur #N/A

    Avant de passer à VBA, il faut profiter de la puissance des fonctionnalités du produit et apprendre ces multiples fonctions

    A lire pour en savoir plus sur la fonction LIEN_HYPERTEXTE et les tableaux structurés
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  8. #8
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 913
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 913
    Points : 5 119
    Points
    5 119
    Par défaut
    Heureux de recevoir puce down ... Pour moi étant un bricoleur autodidacte ... qui compte est la satisfaction totale du demandeur ...
    --------------------------------------------------------------*****----------------------------------------------------------------------------
    Bonne Continuation & Plein Succès
    Notre seul pouvoir véritable consiste à aider autrui avec modestie
    ______________________________________________________
    Pour dire merci, cliquer sur et quand la discussion est résolue, penser à cliquer sur le bouton

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/11/2018, 17h33
  2. Réponses: 26
    Dernier message: 27/05/2016, 22h08
  3. Comparaison de l'intégralité des cellules de deux feuilles.
    Par Mymi_leeloo dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 24/01/2015, 14h56
  4. [XL-2007] Reporter contenu des cellules d'une feuille dans 2 autres
    Par carlux3 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/11/2010, 17h06
  5. copier des cellules d'une feuille dans une autres sous condition
    Par olivertwist dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 16/05/2007, 11h42

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