Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

fonction Find, entre feuilles, et test if !

arnaoke

XLDnaute Occasionnel
Bonjour le forum,

Je suis censé faire des tests sur des colonnes, en fonction d'un import de références.

J'ai donc 2 feuilles:
-"Suivi MQ" qui sera la feuille consultée par l'utilisateur
-"traitementGestion" qui va accueillir un import quelconque.

Dans "suivi MQ" se trouve des numéros de contrats (colonne C), que je dois retrouver dans "traitementGestion" (même colonne), une fois la ligne de contrat retrouvée, je suis censé regarder la colonne W et passer un test par rapport à une autre colonne de "Suivi MQ".

Pour l'instant, je bloque lors de la recherche du contrat, je m'explique :

Je stock le numéro de contrat dans une variable (numContrat), qui va ensuite me servir à exécuter la fonction Find dans la feuille traitementGestion.

Mon problème est qu'une fois la ligne trouvés, je ne sais comment y faire référence, pour ensuite retrouver ma colonne W et faire mon test .... (en gros il j'ai besoin du numéro de la ligne qu'a trouvé la fonction "Find")

j'ai pour l'instant ce bout de code :

Code:
With classeurDestination.Sheets("Suivi avenants MQ")
    For ligne = 8 To .Range("C2").End(xlDown).Row
        numContrat = .Range("C" & ligne).Value 
'>valeur de la case ("C" & ligne) stocké dans numContrat<
        Set resultatLigne = Sheets("traitementgestion").Range("C2:C" & .Range("C2").End(xlDown).Row).Find(numContrat, LookAt:=xlWhole) 'recherche numContrat de suivi des MQ, dans traitementGestion
        If Not resultatLigne Is Nothing Then 
' affiche le numero de la ligne si numContrat trouvé !
            'là je fait mon test en faisant référence à la ligne du contrat trouvé dans traitementGestion ....

Je ne sais pas si je me suis bien fait comprendre, car pour l'instant j'ai déjà un peu de mal moi même à me modéliser le problème !
 

Bebere

XLDnaute Barbatruc
Re : fonction Find, entre feuilles, et test if !

bonjour Arnaoke
si bien compris comme suit
If Not resultatLigne Is Nothing Then
l= resultatLigne.row
CeQueJeCherche=Sheets("traitementgestion").range("W" & l)
'la suite....
endif
avec un fichier c'est mieux
à bientôt
 

arnaoke

XLDnaute Occasionnel
Re : fonction Find, entre feuilles, et test if !

je test ça et je te fait un petit retour !

Pour le fichier, c'est un fichier excel que je touche depuis 3 mois, il doit faire dans les 5-6Mo...
 

arnaoke

XLDnaute Occasionnel
Re : fonction Find, entre feuilles, et test if !

hm, non, problème, apparemment il me sort "variables objet ou variable de bloc with non définie"

Code:
With Sheets("Suivi avenants MQ")
    For ligne2 = 8 To .Range("C8").End(xlDown).Row
        .Range("F4").Value = "test"
        numContrat = .Range("C" & ligne).Value 'valeur de la case ("C" & ligne) stocké dans numContrat
        Set resultatLigne = sheets("traitementGestion").Range("C2:C"&.Range("C2").End(xlDown).Row).Find(numContrat, LookAt:=xlWhole) 'recherche numContrat de suivi des MQ, dans traitementGestion
        ligneTraitementgestion = resultatLigne.Row
        If Not resultatLigne Is Nothing Then ' affiche le numero de la ligne si numContrat trouvé !
           'ma ptite cuisine interne !
        End If
    Next ligne2
End With

il me signale l'erreur à la ligne
Code:
      ligneTraitementgestion = resultatLigne.Row

des idées ?
 

arnaoke

XLDnaute Occasionnel
Re : fonction Find, entre feuilles, et test if !

Apparemment, le problème viendrais de l'initialisation de la variable resultatLigne ... mais je vois pas quoi faire ... :/

je précise que j'ai déclarer resultatLigne en tant que Variant, si ça peut aider des gens ...
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…