Targuet.adress ?

Résolu
Antoinelr Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -  
eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à toutes et tous,

Etant une quiche en VBA , je dois pourtant trouver le petit truc qui va bien avec quanddoubleclic. Vos conseils me seront très utiles. Voilà j'explique :

J'ai un classeur à 2 feuilles :
- première feuille ma BD
- deuxième feuille mon application

Quand je suis sur mon application et que je clique sur une cellule où il est écrit "P01" par exemple, il faut que ça aille sur la feuille BD et que je sois positionné sur la ligne dans la BD où une cellule contient "P01". Et s'il n'y a pas écrit "P01" dans la BD, je ne me compliquerai pas la vie. J'attendrai d'avoir votre niveau pour gérer l'erreur !!!

J'ai seulement trouvé ça avec un code de feuille :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Sheets("bd").Select

Mais je ne connais rien en VBA...

Quelqu'un pourrait m'aider?
Avec d'avance tous mes remerciements.

2 réponses

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    un exemple :
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        Dim c As Range
        If Target.Column = 1 And Target.Row > 1 And Target <> "" Then
            With Worksheets("BD")
                .Activate
                Set c = .[A:A].Find(Target.Value, LookIn:=xlValues, lookat:=xlWhole)
                If c Is Nothing Then
                    MsgBox ("non trouvé")
                Else
                    c.Select
                End If
            End With
        End If
    End Sub 

    fichier exemple : https://www.cjoint.com/?BIzm1FUoSWn

    eric
    0
  2. Antoinelr Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
     
    Excellent !!
    Merci beaucoup Eriiic.
    Je vais le tester sur mon application cet après-midi. Je pense que je devrai l'adapter car il faut chercher la valeur dans la BD dans la colonne K, et dans la feuille application, la cellule cible peut se situer de B2 à P14.
    Je reviendrai te donner des nouvelles.
    Encore merci.

    A.
    0
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      Re,

      If Target.Column = 11 and ...
      et
      Set c = .[B2:P14].Find(...)

      eric
      0
    2. Antoinelr Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
       
      Je suis désolé, ça ne fonctionne pas avec mon appli...
      L'onglet de ma feuille appli s'appelle Localisation.
      L'onglet de ma feuille BD s'appelle BD
      Dans ma BD, la colonne cible est la colonne L donc 12 (au lieu de 11)
      J'ai modifié la plage des cellules concernées
      Ce petit programme est bien mis dans le code de la feuille Localisation
      Il ne se passe rien.
      Sauf si je sélectionne 2 cellules, il m'affiche alors une erreur d'exécution 13 incompatibilité de type

      A.
      0
    3. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      Il réagit sur sélection d'1 cellule, pas sur double-clic (mais on peut le changer).
      Sauf si je sélectionne 2 cellules, il m'affiche alors une erreur d'exécution 13 incompatibilité de type
      Ajoute cette ligne au début :
      if target.cells.count>1 then exit sub

      Si toujours des pb tu peux déposer un extrait de ton fichier sur cjoint.com et coller ici le lien fourni.

      eric
      0
    4. Antoinelr Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
       
      Bonsoir Eriiic,
      J'ai vu que je n'étais plus en doubleclic, mais ta solution me convient aussi.
      Je te laisse le lien fichier : https://www.cjoint.com/?3Izs0DhmgoM (j'espère que c'est comme ça que l'on fait...) Je n'avais pas remarqué mais 4 cellules déclenchent la MgsBox (L2, L11, L12 et L15)
      Avec d'avance mes remerciements,
      A.
      0
    5. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      La fusion des cellules est très mal gérée par excel et est à réserver pour des cas exceptionnels.
      Revois ta mise en page sans fusion et on verra s'il y a toujours des pb après.
      Redépose ton fichier après si c'est toujours nécessaire.
      Si ça doit être qcq cellules qui déclenchent la recherche précise lesquelles, actuellement c'est toute la colonne sauf la ligne 1 comme tu n'avais rien précisé.
      eric
      0