Macros Excel 4.0

wilfried_42

XLDnaute Barbatruc
Bonjour à tous

J'ai un probleme, j'assaie de faire un classeur sans aucune macro (un tout petit :D) mais voila je tombe sur un bec

Regarde la pièce jointe essai liste feuille.zip

j'utilise une macro Excel 4.0 : lire.classeur(1) sur une plage nommée classeur
cette macro me cree un matrice avec les nom des feuilles, que j'utilise avec index pour en avoir la liste (colonne A)

Mon probleme est que lorque j'ajoute une feuille, deplace une feuille ou encore supprime une feuille, mes valeurs restent inchangées, il me faut obligatoirement repasser dans les cellules (fond bleu), les editer et faire return pour avoir les nouvelles valeurs ou encore, modifier la cellule A1 et ensuite la tirer vers le bas (plus rapide)

le touche F9, ou le calcul automatique ne fonctionne pas sur les macros Excel 4.0 (enfin en ce qui me concerne ou à ce que j'en connais)

j'ai bien entendu utilisé un artifice mais le challenge de le faire sans macro tombe à l'eau

ai-je oublié une option à cocher ? y a t il un paramettre quelconque à mettre, j'ai cherché, mais je n'ai rien trouvé

merci à vous pour votre aide
 

Pièces jointes

  • essai liste feuille.zip
    5.6 KB · Affichages: 44
  • essai liste feuille.zip
    5.6 KB · Affichages: 49

wilfried_42

XLDnaute Barbatruc
Re : Macros Excel 4.0

Bonjour Abcd, Staple

Abcd : Je craignais cette reponse mais je m'en doutais puisque la macro est faite :D, Dommage :eek:

Staple : LIRE.DOCUMENT(1) me cree une matrice avec tous les noms des feuilles

merci à vous deux d'etre intervenus à bientôt sur le forum

cordialement
 

job75

XLDnaute Barbatruc
Re : Macros Excel 4.0

Bonjour à tous,

Voici ce que j'ai fait Wilfried :

1) Dans la feuille Macro1 (Macro Excel 4.0), j'ai entré en A1 et A2 les formules :
=RESULTAT(64)
=RETOUR(LIRE.CLASSEUR(1))

cette dernière en formule matricielle.

2) Dans la feuille de calcul, en A1 puis tirée vers le bas :
=INDEX(Macro1!$A$1();LIGNE(A1))&INDIRECT("IV1")

L'intérêt d'introduire INDIRECT est que cette fonction est recalculée en appuyant sur F9.

Il faut noter que losqu'on supprime une feuille, il est inutile d'appuyer sur F9. Par contre il faut le faire quand on ajoute une feuille.

A+
 

wilfried_42

XLDnaute Barbatruc
Re : Macros Excel 4.0

Bonjour Job75

c'est excelent merci pour ton aide et pour l'insertion de feuille, le F9 n'est pas franchement utile

le fichier donné, n'etait qu'un exemple, l'autre est un peu plus compliqué et la saisie qui est necessaire pour l'usage de la nouvelle feuille, provoque une serie de calcul donc le recalcul est fait.

encore merci à toi, à bientot

crodialement
 

job75

XLDnaute Barbatruc
Re : Macros Excel 4.0

Re

Nettement plus subtile la méthode de Staple, plus besoin de feuille macro :

1) Insérer un nom F et le définir par la formule :
=LIRE.CLASSEUR(1)&INDIRECT("IV1")

2) Entrer en A1 puis tirée vers le bas :
=INDEX(F;LIGNE(A1))

Le reste comme précédemment.

A+
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Macros Excel 4.0

Bonjour à tous

Comme ce matin (je suis d'humeur badine et taquine :p)

D'abord félicitations à tous et en particulier à Wilfried pour cette replongée

dans un temps ou l'on pouvait causer français avec Excel.

Maintenant, un peu de mauvais esprit:

J'ai un probleme, j'assaie de faire un classeur sans aucune macro (un tout petit :D) mais voila je tombe sur un bec

[TENTATIVE D'HUMOUR]

Tous dans ce fil intéressant , nous utilisons :

le langage Macro Excel 4.0

Donc il y a des maquereaux dans le classeur

Et par conséquent nous nous mentons à nous même.

Nous avons utilisé des macros (certes pas VBA) mais des macros quand même.

Par conséquent Wielfried, rédéfinissons ton challenge ainsi

j'assaie de faire un classeur plein de maquereaux XL4, sans aucune arête VBA inside.

[/TENTANTIVE D'HUMOUR]
 

wilfried_42

XLDnaute Barbatruc
Re : Macros Excel 4.0

re-bonjour, bonjour chris

SANS VBA (un petit clin d'oeuil à jean marie :D)

je vous presente l'adpatation que j'en ai faite (pour ceux que ca interrese)
Regarde la pièce jointe essais recherches.zip
c'est un petit fichier exemple (le mien est plus impotant) qui propose une recherche d'un produit sur une feuille quelconque

Suppression de feuille, ajout de feuille, renommer ou deplacer une feuille tout se met en place par les formules

si on ajoute une feuille, le F9 semble necessaire (si on regarde la feuille recherche, la feuille n'apparait pas), mais la saisie dans la colonne B de la feuille devis, provoque le recalcul necessaire

la seule obligation est (dans cet exemple) les noms de feuille devant faire l'objet de la recherche doivent commencer par "St"

Finalement, c'est INDIRECT qui me manquait, cette fonctionalité que je ne connaissais pas va m'etre tres utile

Merci à Job75 en particulier et à tous ceux qui ont participé
 

Staple1600

XLDnaute Barbatruc
Re : Macros Excel 4.0

Bonjour


wilfried_42: bravo clap.gif

Une petite question:
c'est normal les #N/A et #REF! sur la feuille Recherche ?


EDITION: excuse-moi je suis mal réveillé

J'ai rajouté des SI(ESTNA... et c'est OK
 
Dernière édition:

wilfried_42

XLDnaute Barbatruc
Re : Macros Excel 4.0

re:

c'est tout à fait normal pour les #N/A (valeur non trouvées) ils sont controlés par la suite

je n'ai pas fait volontairement le control des #N/A pour ne pas surcharger les formules de recherche et augmenter le temps de calcul (2 rechercheV pour le prix d'1 si la valeur existe)

pour les #REF, non ce n'est pas normal, dans le classeur envoyé, il n'y en a pas (du moins je n'en ai pas personnelement)

Bonne journée
 

job75

XLDnaute Barbatruc
Re : Macros Excel 4.0

Bonjour à tous,
Une remaque encore.
A la place de INDIRECT("IV1") on peut utiliser une autre fonction volatile et écrire par exemple
T(MAINTENANT()).
L'important évidemment est de forcer le recalcul de l'endroit où se trouve la fonction macro LIRE.CLASSEUR(1).
A+
 

Discussions similaires

Réponses
1
Affichages
331
Réponses
16
Affichages
482

Statistiques des forums

Discussions
312 216
Messages
2 086 350
Membres
103 194
dernier inscrit
rtison