Bonjour,
Soit :un classeur excel2013 (Classeur1.xlsm) dont l'une des Feuilles (Feuille4) contient un tableau (avec entêtes) dont l'une des colonnes (Colonne C) propose une liste de dates (format court) dont je souhaite extraire la date la plus récente et l'attribuer à une variable (Date_Plus_Recente) dans un autre Classeur2 (classeur2.xlsm) pour l'utiliser ensuite dans une macro VBA
Les 2 classeurs sont ouverts.
Dans un 1er temps, j'ai utilisé l'enregistreur de macro qui me propose donc la solution suivante, le résultat étant stocké dans une cellule active du classeur2.
ActiveCell.FormulaR1C1 = "=MAX('[Classeur1.xlsm]Feuill4'!C3)"
Puisque je souhaite utiliser une variable et non le contenu d'une cellule, j'ai donc tenté le code suivant :
Dim Date_Derniere_Facture as Long
Date_Plus_Recente = (MAX('[Classeur1]Feuille4'!C3)"
Mais bien évidemment cela ne fonctionne pas (erreur de compilation) et j'ai beau retourner le problème dans tous les sens et consulter les forums, je sèche lamentablement.
Si une bonne âme veut bien me donner un coup de main, je l'en remercie d'avance.
Cordialement
Helios
Bonjour Helios,
Tout d'abord je pense que la formule MAX('[Classeur1.xlsm]Feuill4'!C3) est erronée.
En effet elle ne réfère qu'à une seule cellule, donc le max va être assez facile à calculer.
Il faut préciser une plage.
Merci infiniment à vous 2.
Les 2 solutions fonctionnent toutes les 2 mais je préfère la seconde solution qui prend la colonne entière.
Amicalement
Helios
Bonjour,
De nouveau en galère avec la fonction RechercheV dans un autre classeur.
Grâce à vous j'ai donc maintenant extrait la date de la facture la plus récente de la colonne1 de la feuille de Calcul "Historique Facture" de mon Classeur1 ("facturation.xlsm") . Cette date est dans une variable ("Date_Derniere_Facture") du code VBA de mon classeur 2.
A partir de cette date, j'ai besoin maintenant de retrouver le numéro de facture (actuellement sous la forme "ANNEE_xx) correspondante à cette date et qui se trouve dans la colonne 2 du tableau dont j'ai extrait la date, pour le mettre EGALEMENT dans une variable (Numero_Derniere_Facture).
J'ai donc écrit le code suivant (dans la subroutine AutoOpen Du classeur 2) :
Dim Date_Derniere_Facture as Long 'Long car la fonction Lookup me renvoie la date extraite sous la forme 44283
Dim Numero_Derniere_Facture as string
Date_Derniere_Facture = Application.Max(Workbooks("Facturation.xlsm").Sheets("Historique facture").Range("A:A"))
Aucun souci avec la date extraite, mais pour le numéro de facture j'ai une erreur 13 'Incompatibilité de type".
Si vous avez une idée ? Merci à vous
Cordialement
Helios
Bonsoir,
Voici mes fichiers exemples : Le code est dans le classeur 2 qui ouvre le Classeur 1 si celui-ci n'est pas déjà ouvert
Comme expliqué je souhaite retrouver DANS UNE VARIABLE le numéro de facture qui correspond à la date la plus récente dans le tableau du classeur1
Merci de ton aide
Cordialement
a+
Merci beaucoup...
Que ça peut m'énerver de ne pas trouver seul la solution qui parait si évidente une fois qu'on l'a !
Bonne soriée
Cordialement
Helios