XL 2010 RESOLU par thebenoit59 et DoubleZero : atteindre cellule cible

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,

Me revoilou, revoilà avec un nouveau souci.
Votre aide me serait encore et toujours précieuse et je vous remercie par avance de votre gentillesse.

Ce qui m'amène :
J'ai deux feuilles dans un classeur :
Une feuille nommée "Données"
Une feuille nommée "Facture"

Dans la Feuille "données", j'ai nommé une plage de cellules : RCPquatre
Dans la feuille "Facture" , la cellule A1 contient un n° de client.

Mon but à atteindre :
J'essaie d'écrire un code qui me permette de chercher la valeur de A1 "Factures" et qui se positionne (Sélect) sur la cellule cible dans "données".

J'ai tenté plusieurs codes sans succès et je n'arrive pas à trouver malgré mes recherches.

En voici quelques exemples (ne riez pas LOL)
Code:
Sub Macro1()
'Application.Goto Reference:=Lookup.Sheets.Facture.Select = "LOOKUP(R1C1],RCPquatre)".Select
'Sheets("Facture").Select.Application.Goto Reference:="=LOOKUP(R1C1],RCPquatre).Select"
'Application.Goto Reference: Sheets("Facture").Select.="=LOOKUP(R1C1,RCPquatre).Select"

End Sub

Je joins un petit classeur test.

Encore un grand merci si votre aide est possible (Merci aussi si pas possible LOL),
Amicalement,
Lionel,
 

Pièces jointes

  • Test_PositionnerSurCelluleCibleRechercheDansPlage.xlsm
    16.6 KB · Affichages: 34
Dernière édition:

thebenoit59

XLDnaute Accro
Re : Positionner Sur Cellule Cible Recherche Dans une Plage

Bonjour Lionel.

Avec la fonction Equiv.

Code:
Sub Positionnement()
Critere = Sheets("Facture").[a1]
With Sheets("Données")
    On Error Resume Next 'L'erreur se produira si le Critere n'existe pas dans la colonne B
    Ligne = WorksheetFunction.Match(Critere, .Columns(2), 0)    'On détermine la ligne correspondant au critère
    If Ligne = "" Then MsgBox "Numéro de client non référencé": Exit Sub    'Si aucune ligne, donc non référencé, on quitte la procédure
    .Activate   'Sinon nous activons l'onglet Données
    .Cells(Ligne, 2).Select 'Et nous plaçons sur la cellule correspondante
End With
End Sub

Sans doute plus simple que d'utiliser la plage RCPquatre :)
 

vgendron

XLDnaute Barbatruc
Re : Positionner Sur Cellule Cible Recherche Dans une Plage

hello
avec ce bout de code dans la feuille Facture
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Set valeur = [A1]
Sheets("Données").Activate
With ActiveSheet.Range("RCPquatre")
    Set c = .Find(valeur)
    If Not c Is Nothing Then
        c.Select
    Else: MsgBox ("valeur inexistante")
    Sheets("Facture").Activate
    End If
End With
End Sub

à améliorer pour trouver 1 en première ligne (le find exclue toujours la premiere cellule de la zone. stupide, mais c'est comme ca)
et pour faire la différence entre 5 et 15.. c'est à dire. ne pas trouver 5 dans 15..
 

DoubleZero

XLDnaute Barbatruc
Re : Positionner Sur Cellule Cible Recherche Dans une Plage

Bonjour, arthour973, thebenoit59, vgendron, le Forum,

Une autre suggestion avec ce code, logé dans le module de l'onglet "Facture" :

Code:
Option Explicit
Private Sub Worksheet_Change(ByVal c As Range)
    Dim quoi
    If c.Address = "$A$1" Then
        c.Name = "quoi"
        Set quoi = Sheets("Données").Columns(2).Find(Range("quoi"), LookIn:=xlValues, LookAt:=xlWhole)
        If Not quoi Is Nothing Then
            Sheets("Données").Activate
            quoi.Select
        Else
            MsgBox "Numéro inexistant."
            c.Select
        End If
    End If
End Sub

A bientôt :)
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : Positionner Sur Cellule Cible Recherche Dans une Plage

Bonjour thebenoit59,

Toujours aussi rapide.

J'ai intégré dans code dans le classeur joint.

ca fonctionne ...... presque LOL

Déjà merci de t'être intéressé à mon souci et c'est une belle avancée.

Concrètement et peut-être plus clairement :

si
- Je saisie dans Facture en A1 le chiffre 4
- Je souhaite que l'exécution de la macro me positionne dans la feuille Données en M3

si
- Je saisie dans Facture en A1 le chiffre 15
- Je souhaite que l'exécution de la macro me positionne dans la feuille Données en M6

Merci beaucoup pour ton aide.
Amicalement,
Lionel,
 

Pièces jointes

  • Test_PositionnerSurCelluleCibleRechercheDansPlage.xlsm
    24.7 KB · Affichages: 34

DoubleZero

XLDnaute Barbatruc
Re : Positionner Sur Cellule Cible Recherche Dans une Plage

Re-bonjour,

... si
- Je saisie dans Facture en A1 le chiffre 4
- Je souhaite que l'exécution de la macro me positionne dans la feuille Données en M3...

Code:
Option Explicit
Private Sub Worksheet_Change(ByVal c As Range)
    Dim quoi
    If c.Address = "$A$1" Then
        c.Name = "quoi"
        Set quoi = Sheets("Données").Columns(2).Find(Range("quoi"), LookIn:=xlValues, LookAt:=xlWhole)
        If Not quoi Is Nothing Then
            Sheets("Données").Activate
            quoi.Offset(, 11).Select
        Else
            MsgBox "Numéro inexistant."
            c.Select
        End If
    End If
End Sub

A bientôt :)
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : Positionner Sur Cellule Cible Recherche Dans une Plage

Bonjour DoubleZero,
Re thebenoit59


Merci DoubleZero d'être encore à l'écoute toi aussi.

Ton code fonctionne super mais que la macro s'exécute quand je saisie en A1 de la feuille Facture me pose un problème.
Est-il possible de faire la même chose mais en macro dans module simple a activer selon mon besoin ?

Merci beaucoup encore une fois.
Amicalement,
Lionel,
 

Pièces jointes

  • Test_PositionnerSurCelluleCibleRechercheDansPlage.xlsm
    26.2 KB · Affichages: 30

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : Positionner Sur Cellule Cible Recherche Dans une Plage

Re thebenoit59

J'avais pas vu ton message.

.Cells(Ligne, "M").Select

J'ai modifié mais "ça me fait pareil" que le code de DoubleZero : direct sélection quand je modifie Facture en A1 et ça me pose un problème.

Est-il possible de faire la même chose mais que la saisie en A1 n'exécute pas la macro ?

Vous êtes vraiment supers.

Merci,
Amicalement,
Lionel,
 

thebenoit59

XLDnaute Accro
Re : Positionner Sur Cellule Cible Recherche Dans une Plage

Re thebenoit59

J'avais pas vu ton message.

.Cells(Ligne, "M").Select

J'ai modifié mais "ça me fait pareil" que le code de DoubleZero : direct sélection quand je modifie Facture en A1 et ça me pose un problème.

Est-il possible de faire la même chose mais que la saisie en A1 n'exécute pas la macro ?

Vous êtes vraiment supers.

Merci,
Amicalement,
Lionel,

Il doit y avoir un problème dans la gestion des différents codes proposés, car je n'ai pas proposé de procédures événementielles :)
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : Positionner Sur Cellule Cible Recherche Dans une Plage

Bon sang de bon sang !!! :p

C'est l'äge ou la fatigue (je préfère que ce soit la fatigue LOL)

J'avais oublié d'enlever le code de DoubleZero (intégré dans le code de la feuille) qui fonctionne super et que je garderai.

thebenoit59 ton code fonctionne super.

Je joins le classeur modifié,
Un grand merci à vous deux d'être si présents.
Amicalement,
Lionel,
 

Pièces jointes

  • Test_PositionnerSurCelluleCibleRechercheDansPlage.xlsm
    26.1 KB · Affichages: 29

DoubleZero

XLDnaute Barbatruc
Re : RESOLU par thebenoit59 et DoubleZero : atteindre cellule cible

Re-bonjour,

Dans un module :

Code:
Option Explicit
Sub Go()
    Dim quoi
    [a1].Select
    Selection.Name = "quoi"
    Set quoi = Sheets("Données").Columns(2).Find(Range("quoi"), LookIn:=xlValues, LookAt:=xlWhole)
    If Not quoi Is Nothing Then
        Sheets("Données").Activate
        quoi.Offset(, 11).Select
    Else
        MsgBox "Numéro inexistant."
        [a1].Select
    End If
End Sub

A bientôt :)
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : RESOLU par thebenoit59 et DoubleZero : atteindre cellule cible

Merci DoubleZero,

ca marche aussi super.

Que dire devant tant de bonnes intentions.

Savez-vous que sans vous tous, comme beaucoup de profanes en vba, je ne pourrai pas travailler correctement ?
Vous n'imaginez peut-être pas l'étendue des services que vous rendez.
Merci !
Amicalement,
Lionjel,
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : RESOLU par thebenoit59 et DoubleZero : atteindre cellule cible

Re-Bonjour,

Je dois quand même vous dire pourquoi l'exécution automatique de la macro en saisissant dans la cellule A1 de la feuille Facture me pose problème dans mon besoin précis sur ce classeur :

Cette macro va faire partie d'une autre macro (Call)
J'ai besoin de copier à partir de la feuille Facture une information dans la cellule cible de la feuille Données.

Vos macros "Go" de DoubleZero
ou "Positionnement" de thebenoit59
me permettent, après exécution, d'aller chercher l'info en feuille Facture et de la copier dans la cellule cible.

Encore un grand Merci.
Amicalement,
Lionel,
 

Discussions similaires