Bonjour à tous,
Je débute en langage VBA.
Voici mon problème : j'ai plusieurs onglets composés chacun d'une seule liste variable mais avec des entêtes identiques. Les onglets correspondent aux années 2012 et plus.Ils sont nommés 2012, 2013, 2014, .... Le fichier sera utilisé pour les années à venir.
Chaque liste contient plusieurs sites : site A, site B, ..... avec des coûts associés pour chaque site : exemple de l'onglet 2013
Nom du site | adresse | montant |
site A | chemin de | 350 |
site D | rue de | 138 |
....
onglet 2015
Nom du site | adresse | montant |
site A | chemin de | 999 |
site B | avenue | 222 |
Chaque liste peut contenir n'importes quels sites.
Pour le calcul du site A pour l’année 2015 (exemple), je souhaite effectué une recherche du dernier montant correspondant au site A. Ce montant peut apparaître en 2014, 2013 ou 2012. Ce chiffre me permet ensuite de calculer le montant désiré.
Je souhaite donc écrire un code du type:
function Rech(Nom du site, annee)
Dim i as integer
i = annee
while recherchev(Nom du site;i!A:H;3;faux)='#N/A' & i >2011 /*recherche du nom du site et renvoi du montant */
i = i-1 /* décrémentation de l'onglet */
end while
return recherchev(Nom du site;i!A:H;3;faux) /* résultat de la recherche au niveau de l'onglet i.Tous les sites sont présents en 2012*/
end function
Je sais je mélange plusieurs langages mais j'espère que tout n'est pas trop flou.
Merci de votre aide
Je débute en langage VBA.
Voici mon problème : j'ai plusieurs onglets composés chacun d'une seule liste variable mais avec des entêtes identiques. Les onglets correspondent aux années 2012 et plus.Ils sont nommés 2012, 2013, 2014, .... Le fichier sera utilisé pour les années à venir.
Chaque liste contient plusieurs sites : site A, site B, ..... avec des coûts associés pour chaque site : exemple de l'onglet 2013
Nom du site | adresse | montant |
site A | chemin de | 350 |
site D | rue de | 138 |
....
onglet 2015
Nom du site | adresse | montant |
site A | chemin de | 999 |
site B | avenue | 222 |
Chaque liste peut contenir n'importes quels sites.
Pour le calcul du site A pour l’année 2015 (exemple), je souhaite effectué une recherche du dernier montant correspondant au site A. Ce montant peut apparaître en 2014, 2013 ou 2012. Ce chiffre me permet ensuite de calculer le montant désiré.
Je souhaite donc écrire un code du type:
function Rech(Nom du site, annee)
Dim i as integer
i = annee
while recherchev(Nom du site;i!A:H;3;faux)='#N/A' & i >2011 /*recherche du nom du site et renvoi du montant */
i = i-1 /* décrémentation de l'onglet */
end while
return recherchev(Nom du site;i!A:H;3;faux) /* résultat de la recherche au niveau de l'onglet i.Tous les sites sont présents en 2012*/
end function
Je sais je mélange plusieurs langages mais j'espère que tout n'est pas trop flou.
Merci de votre aide