Aide pour la formule Find! [Fermé]

Signaler
-
Messages postés
8535
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
9 avril 2021
-
Bonjour,

Pour introduire, je suis en train de coder un diagramme de Gantt. J'ai donc une feuille avec des taches à la suite, qui correspondent chacune à un projet. Pour la 1ère tache d'un projet, j'ai la date de début de cette tache (pour les autres c'est une cellule vide car lorsqu'on termine une tache, une autre commence le jour d'après).

J'aimerais mettre dans une variable la date de début de la première tache pour un projet par exemple. Donc si le projet est celui sélectionné, il me renvoie la valeur de la première ligne.
Mais lorsque j'utilise Find, ma variable est vide.

dateDebutTache = sheetTaches.Range("TableTaches[debutTache]") (sheetProjets.Range("TableProjets[idProjet]").Find(idProjet, LookIn:=xlValues).Row - 1)


Voilà ma formule, j'ai essayé plusieurs option comme changer la direction mais ça change rien,
donc si quelqu'un s'y connaissant pouvait m'éclairer ce serait sympa! Merci!

3 réponses

Messages postés
32108
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 avril 2021
3 409
Bonjour,
https://www.commentcamarche.net/faq/36886-methode-find-dans-vba-recherche-de-donnees-sous-excel

Tu y lira :

La méthode find renvoie l'objet Range représentant la cellule ou est trouvée la première occurrence de la valeur cherchée.



Cordialement, 
Jordane                                                                 
Messages postés
1769
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
15 juin 2020
605
Bonsoir, il faut procéder pas à pas. Commence par vérifier le contenu de cellule (a priori idProjet), avec cette instruction :

set cellule = sheetProjets.Range("TableProjets[idProjet]").Find(idProjet, LookIn:=xlValues)

 
Messages postés
8535
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
9 avril 2021
1 650
Bonjour,

La méthode Find renvoie un Range, lorsqu'elle trouve et Nothing lorsqu'elle ne trouve pas !
Comme dit thev, il faut que tu procèdes pas à pas, et que tu traites cette éventualité:
If cellule Is Nothing Then