Bonjour,
Je réalise actuellement un récapitulatif de fiches clients.
J'ai une fiche client par onglet et un onglet récapitulatif qui reprend la totalité des informations de chaques onglets. Exemple en pièce jointe avec toto et maman... Il faut imaginer que j'ai en fait plus de 100 clients.
J'utilise deux fonctions VBA pour récupérer les noms des onglets en automatique dans l'onglet "Recap" :
Function nomOnglet(n)
Application.Volatile
nomOnglet = Sheets(n).Name
End Function
Function nbOnglets()
Application.Volatile
nbOnglets = Sheets.Count
End Function
Je me suis inspiré de codes VBA trouvé sur le net. Je compose, je n'ai pas le niveau pour créer...
Le problème :
Le fichier Excel "client.xlsm" fonctionne parfaitement lorsqu'il est ouvert seul mais il suffit que j'ouvre en parallèle un autre fichier Excel est que je rentre dans une cellule (en faisant F2 par exemple) pour que mon onglet "Recap" du fichier "client.xlsm" reprenne les noms des onglets du 2ème fichier Excel ouvert... Tout revient dans l'ordre lorsque je rentre dans une cellule du fichier "client.xlsm" mais cela ne fait pas très pro et le fichier est destiné à une trentaine d'utilisateurs qui n'auront pas la patience de faire ce type de manip...
En résumé, comment éviter qu'une fonction VBA d'un classeur soit lancée par un autre classeur ?
J'imagine qu'il s'agit d'une particularité de l'Application.Volatile mais serait-il possible que l'actualisation de l'onglet "Recap" soit dédié seulement au fichier Excel comprenant mes clients? L'objectif étant de pouvoir travailler sur d'autres fichiers Excel en même temps sans faire disparaître les informations de l'onglet "Recap" du fichier client...
J'ai essayé Application.Volatile (False) mais cela n'est pas satisfaisant car le fichier "client.xlsm" est sensé être "vivant", c'est à dire qu'il y aura des ajouts et suppressions de fiches clients (suppression et création de nouveaux onglets) qui doivent être pris en compte automatiquement par l'onglet "Recap"...
Merci encore pour vos conseils avisés.
Bien amicalement,
Danava
Je réalise actuellement un récapitulatif de fiches clients.
J'ai une fiche client par onglet et un onglet récapitulatif qui reprend la totalité des informations de chaques onglets. Exemple en pièce jointe avec toto et maman... Il faut imaginer que j'ai en fait plus de 100 clients.
J'utilise deux fonctions VBA pour récupérer les noms des onglets en automatique dans l'onglet "Recap" :
Function nomOnglet(n)
Application.Volatile
nomOnglet = Sheets(n).Name
End Function
Function nbOnglets()
Application.Volatile
nbOnglets = Sheets.Count
End Function
Je me suis inspiré de codes VBA trouvé sur le net. Je compose, je n'ai pas le niveau pour créer...
Le problème :
Le fichier Excel "client.xlsm" fonctionne parfaitement lorsqu'il est ouvert seul mais il suffit que j'ouvre en parallèle un autre fichier Excel est que je rentre dans une cellule (en faisant F2 par exemple) pour que mon onglet "Recap" du fichier "client.xlsm" reprenne les noms des onglets du 2ème fichier Excel ouvert... Tout revient dans l'ordre lorsque je rentre dans une cellule du fichier "client.xlsm" mais cela ne fait pas très pro et le fichier est destiné à une trentaine d'utilisateurs qui n'auront pas la patience de faire ce type de manip...
En résumé, comment éviter qu'une fonction VBA d'un classeur soit lancée par un autre classeur ?
J'imagine qu'il s'agit d'une particularité de l'Application.Volatile mais serait-il possible que l'actualisation de l'onglet "Recap" soit dédié seulement au fichier Excel comprenant mes clients? L'objectif étant de pouvoir travailler sur d'autres fichiers Excel en même temps sans faire disparaître les informations de l'onglet "Recap" du fichier client...
J'ai essayé Application.Volatile (False) mais cela n'est pas satisfaisant car le fichier "client.xlsm" est sensé être "vivant", c'est à dire qu'il y aura des ajouts et suppressions de fiches clients (suppression et création de nouveaux onglets) qui doivent être pris en compte automatiquement par l'onglet "Recap"...
Merci encore pour vos conseils avisés.
Bien amicalement,
Danava