Aide pour la formule Find!

Jerem -  
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   -
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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 1985 Date d'inscription   Statut Membre Dernière intervention   713
 
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 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
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