utilitaire pour nommer une table dynamique

G

Guest

Guest
Re : utilitaire pour nommer une table dynamique

Hello, Chris,

Non il n'y a pas de bibliothèque particulière à charger. Seulement,et j'aurai du le préciser, à l'ouverture l'appli teste si elle reconnait un tableau sinon elle se ferme immédiatement. Le code pour afficher le projet est Hasco ou hasco?Je l'ai mis dans les propriétés de fichier et dans la description de la macro.

Au fait quelle erreur as-tu?
Quand as-tu chargé le fichier? Peut-être me suis-je planté dans la version. Ce serait pas étonnant.

A+

[edit] je viens de revérifier les fichiers que j'ai joint ce matin dans le post#1. Et de remettre à False la propriété IsAddin du classeur .xls afin qu'il soit visible dans la collection des classeur. Le mot de passe est en feuil1 de ce classeur.
 
Dernière modification par un modérateur:

chris

XLDnaute Barbatruc
Re : utilitaire pour nommer une table dynamique

Bonsoir

Merci Hasco
J'ai retenté ce soir sur la version 2002.
J'ai du changé la référence à REFEDIT.DLL qu'il cherchait dans le chemin Office 12 par le chemin de mon Office 10 et cela marche.

Je retente demain sur la V2000 : le message s'affichait avant l'USF et mentionnait l'impossibilité de l'afficher.
Je te dirai.

Bonne nuit

Edit : c'est bizarre car tu as aussi la version Xp/2002
 
Dernière édition:

chris

XLDnaute Barbatruc
Re : utilitaire pour nommer une table dynamique

Bonjour

J'ai retenté comme promis sur Excel 2000.

Même contrainte pour le chemin de REFEDIT.DLL.

Il y a cependant un autre Pb mais je ne sais sais s'il est lié à la version d'Excel ou au PC que j'utilise.

L'appel GetFormule provoque l'erreur Out of stack space (Error 28).

J'essaierai de voir sur un PC d'un collègue : il peut être intéressant de savoir sur quelles versions cela marche.

En tout cas c'est un outil sympa et bien pensé.

Bonne journée
 
G

Guest

Guest
Re : utilitaire pour nommer une table dynamique

Hello Chris

Bizzard, cet appel à REFEDIT.DLL puisque normalement,il n'y a pas de contrôle RefEdit dans le userForm.

Quant à "Out of stack space (Error 28)",c'est sur quelle ligne?

Si tu trouves une solution, cela pourrait être interessant de modifer la chose pour les versions <2002.

Merci de ta participation.

A+
 

chris

XLDnaute Barbatruc
Re : utilitaire pour nommer une table dynamique

Re
Hasco à dit:
Bizzard, cet appel à REFEDIT.DLL puisque normalement,il n'y a pas de contrôle RefEdit dans le userForm.
je l'ai simplement enlevé de la liste des références du module : s'il n'est pas listé et pas utilisé ... autant simplifier
Cela semble OK mais comme je ne peux tester plus loin...

Hasco à dit:
Quant à "Out of stack space (Error 28)",c'est sur quelle ligne?
Je l'avais mis : la ligne GetFormule

Dès que j'ai pu testé, je reposte.
 

chris

XLDnaute Barbatruc
Re : utilitaire pour nommer une table dynamique

Bonjour

Suite des tests :
Je reproduis la même erreur sur une autre PC équipé de Excel 2000.
 

chris

XLDnaute Barbatruc
Re : utilitaire pour nommer une table dynamique

Re

Fin des tests sur la version XP : la suppression de la référence à REFEDIT ne pose pas de problème.

Il est donc plus simple de l'enlever du module : ainsi personne ne sera gêné.

Bon week end
 
G

Guest

Guest
Re : utilitaire pour nommer une table dynamique

hello toutes et tous,

@Chris j'ai enlevé la référence à RefEdit.dll qui trainait. Merci de me l'avoir signalé.

Quant à la fonction GetFormule() qui pose problème sur 2000, pourrais-tu faire un débogage 'Pas-à-pas' pour savoir quelle ligne exacte de la fonction produit l'erreur? GetFormule n'est que la ligne d'appel de la fonction. Merci.

bonne soirée et bon Week-end ensoleillé, je l'espère pour toi aussi.

A+
 

Staple1600

XLDnaute Barbatruc
Re : utilitaire pour nommer une table dynamique

Bonsoir


Un bref passage parmi vous

d'abord pour t'adresser un grand bravo Hasco

et pour te dire que j'ai les mêmes messages d'erreurs que chris.


(Et je n'ai pas réussi à comprendre pourquoi)
 

chris

XLDnaute Barbatruc
Re : utilitaire pour nommer une table dynamique

Bonjour

A Hasco : c'est l'appel getformule qui envoit le message il rentre même pas dans la fonction.
 

Staple1600

XLDnaute Barbatruc
Re : utilitaire pour nommer une table dynamique

Bonsoir Hasco, le fil, le forum


En testant le fichier xls, sous XL2000, au chargement de l'userform , tous les contrôles sont grisés.

Je peux donc pas aller plus loin.

Ou alors je n'ai pas compris comment utiliser ton fichier :confused:

Je sélectionne un plage de cellule, puis clic-droit Nommer un table

et message d'erreur sur:
Code:
InitVar Target.Range("A1")

hascoerror.jpg
 
Dernière édition:
G

Guest

Guest
Re : utilitaire pour nommer une table dynamique

Hello Staple:D:D:D

Lorsque les contrôles sont tous grisés, c'est que l'appli n'a pas reconnu un tableau. Quand c'est tout grisé, click dans un tableau et normalement cela fonctionne. Il suffit de 2 cellules non vides et conjointes

Ou alors sélectionne une ou plusieurs cellules de tableau et lance le userform.

Par contre, le message d'erreur : 28 'Espace de pile insuffisant' et l'équivalent français de 'Out of stack space (Error 28) ' que rencontre notre ami Chris avec sa version 2000 sur l'appel de GetFormule.

Je ne sais pas ce qui peut bloquer sous 2000. D'après mes recherches sur internet, c'est un problème récurrent sur les version <2002 et je dirais même depuis l'apparition du Basic. Je n'avais plus vu cela sur Excel depuis que je n'ai plus 97. C'est une erreur qui appraîssait généralement dans des boucles sans fin ou lorsqu'un objet n'avait pas été correctement libéré (= nothing) etc... Mais là dans l'application, la seule chose que je vois qui puisse poser éventuellement problème de mémoire c'est les appels à initVars dans les procédures évènementielles de l'objet oApp du userForm.

Peut-être qu'en remplaçant les différents appel à InitVars par:

Code:
Application.EnableEvents=False 
InitVars Target.Range("A1")
Application.EnableEvents=True

Et en rajoutant:

Code:
Private Sub UserForm_Terminate()
    Set oCible = Nothing
    Set oFeuille = Nothing
    Set oBook = Nothing
    Set oApp = Nothing
End Sub

Cela suffirait à résoudre le problème.

Peux-tu tester cette solution?
si elle fonctionne je la mettrai dans le fichier joint au post #1

C'est vrai que depuis la version 2002 excel ferme et déinitialise les objet à la fermeture des procédures. On perd vite les bonnes habitudes.

A+ mon ami
 
Dernière modification par un modérateur:

Staple1600

XLDnaute Barbatruc
Re : utilitaire pour nommer une table dynamique

Bonjour Hasco, le fil, le forum, et les malheureux hasbeen comme moi qui sont encore sont XL 2000 *



Excel s'est fait harakiri quand j'ai ajouté tes modifs :D

Et Windows s'en ait mêler , en cherchant pourquoi Excel avait cessé de fonctionner.

Tu veux me forcer à installer Excel 2007, hein , avoue :D

Mon Excel 2000 était encore vaillant malgré son âge, et je suis lui encore trés attaché.

Je ne suis pas prêt à migrer.

Pas encore.

* c'est de l'humour
 
G

Guest

Guest
Re : utilitaire pour nommer une table dynamique

Re Skoob,

Tu veux me forcer à installer Excel 2007, hein , avoue :D

Oh que non, j'ai 2007 mais je n'utilise pratiquement que 2002(xp)

Mais j'aimerais comprendre 2000 et ce qui le fait bolquer.

Ne fais pas trop fumer ton papy 2000, va m'en vouloir pour le restant de ces jours:D:rolleyes:

Il doit me rester un vieux cd office 97, je vais tenter d'installer excel et refaire le truc. Si mon papy, à moi n'explose pas!

A+++
 

Discussions similaires

Statistiques des forums

Discussions
315 098
Messages
2 116 190
Membres
112 679
dernier inscrit
Yupanki