Aide pour la formule Find!

Fermé
Jerem - 20 nov. 2016 à 14:59
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 21 nov. 2016 à 14:18
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!
A voir également:

3 réponses

jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705
Modifié par jordane45 le 20/11/2016 à 17:28
Bonjour,
https://forums.commentcamarche.net/forum/affich-37621992-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                                                                 
0
thev Messages postés 1892 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 26 novembre 2024 691
Modifié par thev le 20/11/2016 à 19:06
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)

 
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
21 nov. 2016 à 14:18
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

0