Targuet.adress ?

Résolu
Antoinelr Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -  
eriiic Messages postés 24603 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

eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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
Antoinelr Messages postés 7 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
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Re,

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

eric
0
Antoinelr Messages postés 7 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
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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
Antoinelr Messages postés 7 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
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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