Bonjour le forum,
Petit problème du vendredi soir !
Une fichier A contient une fonction personnalisée, placée dans un module.
Voici cette fonction :
Public Function IsRouge(a As Range) As Integer
If a.Cells.Interior.Color = 1967565 Then
IsRouge = 1
Else
IsRouge = 0
End If
End Function
Cette fonction teste la couleur d'une case en entrée et renvoi 1 si la couleur est 1967565 (Rouge), et 0 sinon.
Un programme du fichier A va ouvrir un fichier B, lequel contient des appels à la fonction IsRouge(). le problème est que le résultat est toujours 0 alosr qu'il y a bien des cases rouge dans mon fichier B ! Si je lance le programme en pas à pas ca fonctionne bien !
Là où je 'pète un cable' depuis 2 heures, c'est que mon fichier B est une copie d'un autre fichier (appelons le C) qui contient aussi des fonctiosn IsRouge(). B et C sont des fichiers similaires (que l'on appelle des modèles dans mon jargon pro). Ces deux modèles concernent des comptes clients différents mais sont tout à fait similaires !
Totu se passe bien avec le fichier C même en automatique mais je ne sais pas pourquoi ça bloque avec le fichier B. En tout cas puisque cela fonctionne avec le fichier C, j'en déduit que le problème ne vient pas du ficheir A (celui qui contient le programme principal qui ouvre les autres fichiers (B, C, ...) et qui contient aussi la fonction IsRouge().
Ha oui j'oubliais, le fichier A ouvre les autres fichiers (B, C, ...) et importe la feuille 'modèle' dans le fichier A.
Bon il est l'heure de couper mon PC et de penser à autre chose .... je retrouverai sûrement mon problème lundi matin mais peut-être aurai-je aussi le plaisir de lire ici des éléments de réponse.
Désolé de ne pas publier mes fichiers mais ils sont trop volumineux.
Cordialement,
David
Petit problème du vendredi soir !
Une fichier A contient une fonction personnalisée, placée dans un module.
Voici cette fonction :
Public Function IsRouge(a As Range) As Integer
If a.Cells.Interior.Color = 1967565 Then
IsRouge = 1
Else
IsRouge = 0
End If
End Function
Cette fonction teste la couleur d'une case en entrée et renvoi 1 si la couleur est 1967565 (Rouge), et 0 sinon.
Un programme du fichier A va ouvrir un fichier B, lequel contient des appels à la fonction IsRouge(). le problème est que le résultat est toujours 0 alosr qu'il y a bien des cases rouge dans mon fichier B ! Si je lance le programme en pas à pas ca fonctionne bien !
Là où je 'pète un cable' depuis 2 heures, c'est que mon fichier B est une copie d'un autre fichier (appelons le C) qui contient aussi des fonctiosn IsRouge(). B et C sont des fichiers similaires (que l'on appelle des modèles dans mon jargon pro). Ces deux modèles concernent des comptes clients différents mais sont tout à fait similaires !
Totu se passe bien avec le fichier C même en automatique mais je ne sais pas pourquoi ça bloque avec le fichier B. En tout cas puisque cela fonctionne avec le fichier C, j'en déduit que le problème ne vient pas du ficheir A (celui qui contient le programme principal qui ouvre les autres fichiers (B, C, ...) et qui contient aussi la fonction IsRouge().
Ha oui j'oubliais, le fichier A ouvre les autres fichiers (B, C, ...) et importe la feuille 'modèle' dans le fichier A.
Bon il est l'heure de couper mon PC et de penser à autre chose .... je retrouverai sûrement mon problème lundi matin mais peut-être aurai-je aussi le plaisir de lire ici des éléments de réponse.
Désolé de ne pas publier mes fichiers mais ils sont trop volumineux.
Cordialement,
David