J'ai r=E9alis=E9 une application en VBA assez importante. Celle-ci utilise
des fichiers index=E9s (random) et des fichiers d'index.
Les fonctions :
ouverture : Open "D:\CMK\CMKFICHE\MACHINE.IND" For Random As #1 Len =3D
Len(MRECORD)
Ecriture : Put #1, INDEX, MRECORD
Lecture : Get #1, INDEX, MRECORD
MRECORD =E9tat d=E9finit dans les d=E9clarations Public MRECORD As
MACHINERECORD
et MACHINERECORD d=E9finit l'enregistrement de 279 caract=E8res de champs
diff=E9rents.
J'ai cr=E9=E9 plusieurs modules qui traitent diff=E9rents sujets dans cette
application. En en-t=EAte de chaque module, j'ai report=E9 les m=EAmes
d=E9clarations de variables, tableaux, et enregistrements, ce qui est
inutile vraisemblablement puisque toutes ces variables sont d=E9clar=E9es
"publiques".
Soit ... Lors de la lecture ou l'=E9criture d'un enregistrement dans un
fichier index=E9, Il me vient de temps en temps une erreur " Longueur
d'enregistrement incorrecte". L'arr=EAt du programme cause un probl=E8me
s=E9rieux en =E9criture bien entendu.
Il y a tellement longtemps que je cherche d'o=F9 provient cette erreur
que j'ai remarqu=E9 que la r=E9initialisation du programme faisait
dispara=EEtre cette erreur. Pour ce faire, je dois neutraliser une ligne
quelconque dans la plage des d=E9clarations, compiler, puis rendre la
ligne =E0 nouveau active et recompiler.
J'ai d=E9j=E0 contr=F4l=E9 maintes fois la longueur d'enregistrement et n'a=
i
jamais trouv=E9 d'erreur et je crois que l'erreur d=E9sign=E9e n'est pas la
vraie erreur.
Auriez-vous une id=E9e pour r=E9soudre ce probl=E8me ou tout au moins pour
trouver l'erreur.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Tu trouves un bon livre (chapitre) sur la déclaration et l'utilisation des variables et tu fais un brin de lecture !
Si tu déclares comme "Public" un nom de variable dans plusieurs modules "Standard", La variable "Public" déclarée dans un module aura préséance lors de l'exécution du code sur la variable Public du même nom déclarée dans un autre module. La conséquence de tout ceci, non seulement excel aura de la difficulté à s'y retrouver, mais toi, tu risques d'avoir de sérieux mots de tête à débugger ton application.
Chaque variable peut avoir 255 caractères ce qui donne suffisamment de souplesse pour éviter "à tout prix" les doublons dans le nom de celle-ci.
Si tu as vraiment besoin de variables "Public", Tu peux te créer un module standard dont la fonction sera de contenir leur déclaration si le nombre le justifie.
Dans un module de classe tel que les modules "Feuille", "ThisWorkbook" ou "module de classe" que tu peux ajouter à ton programme, la déclaration d'une variable Public crée une "PROPRIÉTÉ" appartenant à cette classe d'objet et non une variable... et pour faire référence à cette propriété, tu dois utiliser le nom de l'objet devant la propriété comme : Feuil1.MaVariable pour y faiire référence ailleurs que dans le module où elle a été créée.
Organise ta déclaration de variable et observe si tu as toujours le même problème !
"Tchantchet" a écrit dans le message de news:
Bonjour à tous,
J'ai réalisé une application en VBA assez importante. Celle-ci utilise des fichiers indexés (random) et des fichiers d'index. Les fonctions : ouverture : Open "D:CMKCMKFICHEMACHINE.IND" For Random As #1 Len Len(MRECORD) Ecriture : Put #1, INDEX, MRECORD Lecture : Get #1, INDEX, MRECORD
MRECORD état définit dans les déclarations Public MRECORD As MACHINERECORD et MACHINERECORD définit l'enregistrement de 279 caractères de champs différents.
J'ai créé plusieurs modules qui traitent différents sujets dans cette application. En en-tête de chaque module, j'ai reporté les mêmes déclarations de variables, tableaux, et enregistrements, ce qui est inutile vraisemblablement puisque toutes ces variables sont déclarées "publiques".
Soit ... Lors de la lecture ou l'écriture d'un enregistrement dans un fichier indexé, Il me vient de temps en temps une erreur " Longueur d'enregistrement incorrecte". L'arrêt du programme cause un problème sérieux en écriture bien entendu.
Il y a tellement longtemps que je cherche d'où provient cette erreur que j'ai remarqué que la réinitialisation du programme faisait disparaître cette erreur. Pour ce faire, je dois neutraliser une ligne quelconque dans la plage des déclarations, compiler, puis rendre la ligne à nouveau active et recompiler. J'ai déjà contrôlé maintes fois la longueur d'enregistrement et n'ai jamais trouvé d'erreur et je crois que l'erreur désignée n'est pas la vraie erreur.
Auriez-vous une idée pour résoudre ce problème ou tout au moins pour trouver l'erreur.
Merci d'avance
Tu trouves un bon livre (chapitre) sur la déclaration
et l'utilisation des variables et tu fais un brin de lecture !
Si tu déclares comme "Public" un nom de variable dans
plusieurs modules "Standard", La variable "Public" déclarée
dans un module aura préséance lors de l'exécution du code
sur la variable Public du même nom déclarée dans un autre
module. La conséquence de tout ceci, non seulement excel
aura de la difficulté à s'y retrouver, mais toi, tu risques d'avoir
de sérieux mots de tête à débugger ton application.
Chaque variable peut avoir 255 caractères ce qui donne suffisamment
de souplesse pour éviter "à tout prix" les doublons dans le nom de
celle-ci.
Si tu as vraiment besoin de variables "Public", Tu peux te créer un module
standard dont la fonction sera de contenir leur déclaration si le nombre le
justifie.
Dans un module de classe tel que les modules "Feuille", "ThisWorkbook" ou
"module de classe" que tu peux ajouter à ton programme, la déclaration
d'une variable Public crée une "PROPRIÉTÉ" appartenant à cette classe
d'objet et non une variable... et pour faire référence à cette propriété, tu
dois utiliser le nom de l'objet devant la propriété comme :
Feuil1.MaVariable
pour y faiire référence ailleurs que dans le module où elle a été créée.
Organise ta déclaration de variable et observe si tu as toujours le même
problème !
"Tchantchet" <fraiture.francois@gmail.com> a écrit dans le message de news:
a0d7b053-29d3-4ec3-b097-d6198a57413b@d36g2000prf.googlegroups.com...
Bonjour à tous,
J'ai réalisé une application en VBA assez importante. Celle-ci utilise
des fichiers indexés (random) et des fichiers d'index.
Les fonctions :
ouverture : Open "D:CMKCMKFICHEMACHINE.IND" For Random As #1 Len Len(MRECORD)
Ecriture : Put #1, INDEX, MRECORD
Lecture : Get #1, INDEX, MRECORD
MRECORD état définit dans les déclarations Public MRECORD As
MACHINERECORD
et MACHINERECORD définit l'enregistrement de 279 caractères de champs
différents.
J'ai créé plusieurs modules qui traitent différents sujets dans cette
application. En en-tête de chaque module, j'ai reporté les mêmes
déclarations de variables, tableaux, et enregistrements, ce qui est
inutile vraisemblablement puisque toutes ces variables sont déclarées
"publiques".
Soit ... Lors de la lecture ou l'écriture d'un enregistrement dans un
fichier indexé, Il me vient de temps en temps une erreur " Longueur
d'enregistrement incorrecte". L'arrêt du programme cause un problème
sérieux en écriture bien entendu.
Il y a tellement longtemps que je cherche d'où provient cette erreur
que j'ai remarqué que la réinitialisation du programme faisait
disparaître cette erreur. Pour ce faire, je dois neutraliser une ligne
quelconque dans la plage des déclarations, compiler, puis rendre la
ligne à nouveau active et recompiler.
J'ai déjà contrôlé maintes fois la longueur d'enregistrement et n'ai
jamais trouvé d'erreur et je crois que l'erreur désignée n'est pas la
vraie erreur.
Auriez-vous une idée pour résoudre ce problème ou tout au moins pour
trouver l'erreur.
Tu trouves un bon livre (chapitre) sur la déclaration et l'utilisation des variables et tu fais un brin de lecture !
Si tu déclares comme "Public" un nom de variable dans plusieurs modules "Standard", La variable "Public" déclarée dans un module aura préséance lors de l'exécution du code sur la variable Public du même nom déclarée dans un autre module. La conséquence de tout ceci, non seulement excel aura de la difficulté à s'y retrouver, mais toi, tu risques d'avoir de sérieux mots de tête à débugger ton application.
Chaque variable peut avoir 255 caractères ce qui donne suffisamment de souplesse pour éviter "à tout prix" les doublons dans le nom de celle-ci.
Si tu as vraiment besoin de variables "Public", Tu peux te créer un module standard dont la fonction sera de contenir leur déclaration si le nombre le justifie.
Dans un module de classe tel que les modules "Feuille", "ThisWorkbook" ou "module de classe" que tu peux ajouter à ton programme, la déclaration d'une variable Public crée une "PROPRIÉTÉ" appartenant à cette classe d'objet et non une variable... et pour faire référence à cette propriété, tu dois utiliser le nom de l'objet devant la propriété comme : Feuil1.MaVariable pour y faiire référence ailleurs que dans le module où elle a été créée.
Organise ta déclaration de variable et observe si tu as toujours le même problème !
"Tchantchet" a écrit dans le message de news:
Bonjour à tous,
J'ai réalisé une application en VBA assez importante. Celle-ci utilise des fichiers indexés (random) et des fichiers d'index. Les fonctions : ouverture : Open "D:CMKCMKFICHEMACHINE.IND" For Random As #1 Len Len(MRECORD) Ecriture : Put #1, INDEX, MRECORD Lecture : Get #1, INDEX, MRECORD
MRECORD état définit dans les déclarations Public MRECORD As MACHINERECORD et MACHINERECORD définit l'enregistrement de 279 caractères de champs différents.
J'ai créé plusieurs modules qui traitent différents sujets dans cette application. En en-tête de chaque module, j'ai reporté les mêmes déclarations de variables, tableaux, et enregistrements, ce qui est inutile vraisemblablement puisque toutes ces variables sont déclarées "publiques".
Soit ... Lors de la lecture ou l'écriture d'un enregistrement dans un fichier indexé, Il me vient de temps en temps une erreur " Longueur d'enregistrement incorrecte". L'arrêt du programme cause un problème sérieux en écriture bien entendu.
Il y a tellement longtemps que je cherche d'où provient cette erreur que j'ai remarqué que la réinitialisation du programme faisait disparaître cette erreur. Pour ce faire, je dois neutraliser une ligne quelconque dans la plage des déclarations, compiler, puis rendre la ligne à nouveau active et recompiler. J'ai déjà contrôlé maintes fois la longueur d'enregistrement et n'ai jamais trouvé d'erreur et je crois que l'erreur désignée n'est pas la vraie erreur.
Auriez-vous une idée pour résoudre ce problème ou tout au moins pour trouver l'erreur.
Merci d'avance
Tchantchet
On 15 nov, 13:14, "michdenis" wrote:
Tu trouves un bon livre (chapitre) sur la déclaration et l'utilisation des variables et tu fais un brin de lecture !
Si tu déclares comme "Public" un nom de variable dans plusieurs modules "Standard", La variable "Public" déclarée dans un module aura préséance lors de l'exécution du code sur la variable Public du même nom déclarée dans un autre module. La conséquence de tout ceci, non seulement excel aura de la difficulté à s'y retrouver, mais toi, tu risques d'avoir de sérieux mots de tête à débugger ton application.
Chaque variable peut avoir 255 caractères ce qui donne suffisamment de souplesse pour éviter "à tout prix" les doublons dans le nom de celle-ci.
Si tu as vraiment besoin de variables "Public", Tu peux te créer un mod ule standard dont la fonction sera de contenir leur déclaration si le nombr e le justifie.
Dans un module de classe tel que les modules "Feuille", "ThisWorkbook" ou "module de classe" que tu peux ajouter à ton programme, la déclaratio n d'une variable Public crée une "PROPRIÉTÉ" appartenant à cette cl asse d'objet et non une variable... et pour faire référence à cette prop riété, tu dois utiliser le nom de l'objet devant la propriété comme : Feuil1.MaVariable pour y faiire référence ailleurs que dans le module où elle a ét é créée.
Organise ta déclaration de variable et observe si tu as toujours le m ême problème !
"Tchantchet" a écrit dans le message de n ews:
Bonjour à tous,
J'ai réalisé une application en VBA assez importante. Celle-ci utilis e des fichiers indexés (random) et des fichiers d'index. Les fonctions : ouverture : Open "D:CMKCMKFICHEMACHINE.IND" For Random As #1 Len = Len(MRECORD) Ecriture : Put #1, INDEX, MRECORD Lecture : Get #1, INDEX, MRECORD
MRECORD état définit dans les déclarations Public MRECORD As MACHINERECORD et MACHINERECORD définit l'enregistrement de 279 caractères de champs différents.
J'ai créé plusieurs modules qui traitent différents sujets dans cet te application. En en-tête de chaque module, j'ai reporté les mêmes déclarations de variables, tableaux, et enregistrements, ce qui est inutile vraisemblablement puisque toutes ces variables sont déclar ées "publiques".
Soit ... Lors de la lecture ou l'écriture d'un enregistrement dans un fichier indexé, Il me vient de temps en temps une erreur " Longueur d'enregistrement incorrecte". L'arrêt du programme cause un problème sérieux en écriture bien entendu.
Il y a tellement longtemps que je cherche d'où provient cette erreur que j'ai remarqué que la réinitialisation du programme faisait disparaître cette erreur. Pour ce faire, je dois neutraliser une ligne quelconque dans la plage des déclarations, compiler, puis rendre la ligne à nouveau active et recompiler. J'ai déjà contrôlé maintes fois la longueur d'enregistrement et n 'ai jamais trouvé d'erreur et je crois que l'erreur désignée n'est pas la vraie erreur.
Auriez-vous une idée pour résoudre ce problème ou tout au moins pou r trouver l'erreur.
Merci d'avance
Je te remercie michdenis. Je vais tâcher de mettre de l'ordre dans cette application.
On 15 nov, 13:14, "michdenis" <michde...@hotmail.com> wrote:
Tu trouves un bon livre (chapitre) sur la déclaration
et l'utilisation des variables et tu fais un brin de lecture !
Si tu déclares comme "Public" un nom de variable dans
plusieurs modules "Standard", La variable "Public" déclarée
dans un module aura préséance lors de l'exécution du code
sur la variable Public du même nom déclarée dans un autre
module. La conséquence de tout ceci, non seulement excel
aura de la difficulté à s'y retrouver, mais toi, tu risques d'avoir
de sérieux mots de tête à débugger ton application.
Chaque variable peut avoir 255 caractères ce qui donne suffisamment
de souplesse pour éviter "à tout prix" les doublons dans le nom de
celle-ci.
Si tu as vraiment besoin de variables "Public", Tu peux te créer un mod ule
standard dont la fonction sera de contenir leur déclaration si le nombr e le
justifie.
Dans un module de classe tel que les modules "Feuille", "ThisWorkbook" ou
"module de classe" que tu peux ajouter à ton programme, la déclaratio n
d'une variable Public crée une "PROPRIÉTÉ" appartenant à cette cl asse
d'objet et non une variable... et pour faire référence à cette prop riété, tu
dois utiliser le nom de l'objet devant la propriété comme :
Feuil1.MaVariable
pour y faiire référence ailleurs que dans le module où elle a ét é créée.
Organise ta déclaration de variable et observe si tu as toujours le m ême
problème !
"Tchantchet" <fraiture.franc...@gmail.com> a écrit dans le message de n ews:
a0d7b053-29d3-4ec3-b097-d6198a574...@d36g2000prf.googlegroups.com...
Bonjour à tous,
J'ai réalisé une application en VBA assez importante. Celle-ci utilis e
des fichiers indexés (random) et des fichiers d'index.
Les fonctions :
ouverture : Open "D:CMKCMKFICHEMACHINE.IND" For Random As #1 Len =
Len(MRECORD)
Ecriture : Put #1, INDEX, MRECORD
Lecture : Get #1, INDEX, MRECORD
MRECORD état définit dans les déclarations Public MRECORD As
MACHINERECORD
et MACHINERECORD définit l'enregistrement de 279 caractères de champs
différents.
J'ai créé plusieurs modules qui traitent différents sujets dans cet te
application. En en-tête de chaque module, j'ai reporté les mêmes
déclarations de variables, tableaux, et enregistrements, ce qui est
inutile vraisemblablement puisque toutes ces variables sont déclar ées
"publiques".
Soit ... Lors de la lecture ou l'écriture d'un enregistrement dans un
fichier indexé, Il me vient de temps en temps une erreur " Longueur
d'enregistrement incorrecte". L'arrêt du programme cause un problème
sérieux en écriture bien entendu.
Il y a tellement longtemps que je cherche d'où provient cette erreur
que j'ai remarqué que la réinitialisation du programme faisait
disparaître cette erreur. Pour ce faire, je dois neutraliser une ligne
quelconque dans la plage des déclarations, compiler, puis rendre la
ligne à nouveau active et recompiler.
J'ai déjà contrôlé maintes fois la longueur d'enregistrement et n 'ai
jamais trouvé d'erreur et je crois que l'erreur désignée n'est pas la
vraie erreur.
Auriez-vous une idée pour résoudre ce problème ou tout au moins pou r
trouver l'erreur.
Merci d'avance
Je te remercie michdenis. Je vais tâcher de mettre de l'ordre dans
cette application.
Tu trouves un bon livre (chapitre) sur la déclaration et l'utilisation des variables et tu fais un brin de lecture !
Si tu déclares comme "Public" un nom de variable dans plusieurs modules "Standard", La variable "Public" déclarée dans un module aura préséance lors de l'exécution du code sur la variable Public du même nom déclarée dans un autre module. La conséquence de tout ceci, non seulement excel aura de la difficulté à s'y retrouver, mais toi, tu risques d'avoir de sérieux mots de tête à débugger ton application.
Chaque variable peut avoir 255 caractères ce qui donne suffisamment de souplesse pour éviter "à tout prix" les doublons dans le nom de celle-ci.
Si tu as vraiment besoin de variables "Public", Tu peux te créer un mod ule standard dont la fonction sera de contenir leur déclaration si le nombr e le justifie.
Dans un module de classe tel que les modules "Feuille", "ThisWorkbook" ou "module de classe" que tu peux ajouter à ton programme, la déclaratio n d'une variable Public crée une "PROPRIÉTÉ" appartenant à cette cl asse d'objet et non une variable... et pour faire référence à cette prop riété, tu dois utiliser le nom de l'objet devant la propriété comme : Feuil1.MaVariable pour y faiire référence ailleurs que dans le module où elle a ét é créée.
Organise ta déclaration de variable et observe si tu as toujours le m ême problème !
"Tchantchet" a écrit dans le message de n ews:
Bonjour à tous,
J'ai réalisé une application en VBA assez importante. Celle-ci utilis e des fichiers indexés (random) et des fichiers d'index. Les fonctions : ouverture : Open "D:CMKCMKFICHEMACHINE.IND" For Random As #1 Len = Len(MRECORD) Ecriture : Put #1, INDEX, MRECORD Lecture : Get #1, INDEX, MRECORD
MRECORD état définit dans les déclarations Public MRECORD As MACHINERECORD et MACHINERECORD définit l'enregistrement de 279 caractères de champs différents.
J'ai créé plusieurs modules qui traitent différents sujets dans cet te application. En en-tête de chaque module, j'ai reporté les mêmes déclarations de variables, tableaux, et enregistrements, ce qui est inutile vraisemblablement puisque toutes ces variables sont déclar ées "publiques".
Soit ... Lors de la lecture ou l'écriture d'un enregistrement dans un fichier indexé, Il me vient de temps en temps une erreur " Longueur d'enregistrement incorrecte". L'arrêt du programme cause un problème sérieux en écriture bien entendu.
Il y a tellement longtemps que je cherche d'où provient cette erreur que j'ai remarqué que la réinitialisation du programme faisait disparaître cette erreur. Pour ce faire, je dois neutraliser une ligne quelconque dans la plage des déclarations, compiler, puis rendre la ligne à nouveau active et recompiler. J'ai déjà contrôlé maintes fois la longueur d'enregistrement et n 'ai jamais trouvé d'erreur et je crois que l'erreur désignée n'est pas la vraie erreur.
Auriez-vous une idée pour résoudre ce problème ou tout au moins pou r trouver l'erreur.
Merci d'avance
Je te remercie michdenis. Je vais tâcher de mettre de l'ordre dans cette application.
Jacquouille
Bonsoir Denis Puisque nous en sommes à la longueur... En VBA, le nombre de caractères est-il libre ou limité à un certain nombre pour l'écriture d'une ligne ? Merci et Bonne soirée à toi
-- Bien amicalmement, "Le vin est au repas ce que le parfum est à la femme."
Jacquouille.
"michdenis" a écrit dans le message de news: %
Tu trouves un bon livre (chapitre) sur la déclaration et l'utilisation des variables et tu fais un brin de lecture !
Si tu déclares comme "Public" un nom de variable dans plusieurs modules "Standard", La variable "Public" déclarée dans un module aura préséance lors de l'exécution du code sur la variable Public du même nom déclarée dans un autre module. La conséquence de tout ceci, non seulement excel aura de la difficulté à s'y retrouver, mais toi, tu risques d'avoir de sérieux mots de tête à débugger ton application.
Chaque variable peut avoir 255 caractères ce qui donne suffisamment de souplesse pour éviter "à tout prix" les doublons dans le nom de celle-ci.
Si tu as vraiment besoin de variables "Public", Tu peux te créer un module standard dont la fonction sera de contenir leur déclaration si le nombre le justifie.
Dans un module de classe tel que les modules "Feuille", "ThisWorkbook" ou "module de classe" que tu peux ajouter à ton programme, la déclaration d'une variable Public crée une "PROPRIÉTÉ" appartenant à cette classe d'objet et non une variable... et pour faire référence à cette propriété, tu dois utiliser le nom de l'objet devant la propriété comme : Feuil1.MaVariable pour y faiire référence ailleurs que dans le module où elle a été créée.
Organise ta déclaration de variable et observe si tu as toujours le même problème !
"Tchantchet" a écrit dans le message de news:
Bonjour à tous,
J'ai réalisé une application en VBA assez importante. Celle-ci utilise des fichiers indexés (random) et des fichiers d'index. Les fonctions : ouverture : Open "D:CMKCMKFICHEMACHINE.IND" For Random As #1 Len > Len(MRECORD) Ecriture : Put #1, INDEX, MRECORD Lecture : Get #1, INDEX, MRECORD
MRECORD état définit dans les déclarations Public MRECORD As MACHINERECORD et MACHINERECORD définit l'enregistrement de 279 caractères de champs différents.
J'ai créé plusieurs modules qui traitent différents sujets dans cette application. En en-tête de chaque module, j'ai reporté les mêmes déclarations de variables, tableaux, et enregistrements, ce qui est inutile vraisemblablement puisque toutes ces variables sont déclarées "publiques".
Soit ... Lors de la lecture ou l'écriture d'un enregistrement dans un fichier indexé, Il me vient de temps en temps une erreur " Longueur d'enregistrement incorrecte". L'arrêt du programme cause un problème sérieux en écriture bien entendu.
Il y a tellement longtemps que je cherche d'où provient cette erreur que j'ai remarqué que la réinitialisation du programme faisait disparaître cette erreur. Pour ce faire, je dois neutraliser une ligne quelconque dans la plage des déclarations, compiler, puis rendre la ligne à nouveau active et recompiler. J'ai déjà contrôlé maintes fois la longueur d'enregistrement et n'ai jamais trouvé d'erreur et je crois que l'erreur désignée n'est pas la vraie erreur.
Auriez-vous une idée pour résoudre ce problème ou tout au moins pour trouver l'erreur.
Merci d'avance
Bonsoir Denis
Puisque nous en sommes à la longueur...
En VBA, le nombre de caractères est-il libre ou limité à un certain nombre
pour l'écriture d'une ligne ?
Merci et Bonne soirée à toi
--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."
Jacquouille.
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
%23C4P8uxRJHA.4524@TK2MSFTNGP03.phx.gbl...
Tu trouves un bon livre (chapitre) sur la déclaration
et l'utilisation des variables et tu fais un brin de lecture !
Si tu déclares comme "Public" un nom de variable dans
plusieurs modules "Standard", La variable "Public" déclarée
dans un module aura préséance lors de l'exécution du code
sur la variable Public du même nom déclarée dans un autre
module. La conséquence de tout ceci, non seulement excel
aura de la difficulté à s'y retrouver, mais toi, tu risques d'avoir
de sérieux mots de tête à débugger ton application.
Chaque variable peut avoir 255 caractères ce qui donne suffisamment
de souplesse pour éviter "à tout prix" les doublons dans le nom de
celle-ci.
Si tu as vraiment besoin de variables "Public", Tu peux te créer un module
standard dont la fonction sera de contenir leur déclaration si le nombre
le
justifie.
Dans un module de classe tel que les modules "Feuille", "ThisWorkbook" ou
"module de classe" que tu peux ajouter à ton programme, la déclaration
d'une variable Public crée une "PROPRIÉTÉ" appartenant à cette classe
d'objet et non une variable... et pour faire référence à cette propriété,
tu
dois utiliser le nom de l'objet devant la propriété comme :
Feuil1.MaVariable
pour y faiire référence ailleurs que dans le module où elle a été créée.
Organise ta déclaration de variable et observe si tu as toujours le même
problème !
"Tchantchet" <fraiture.francois@gmail.com> a écrit dans le message de
news:
a0d7b053-29d3-4ec3-b097-d6198a57413b@d36g2000prf.googlegroups.com...
Bonjour à tous,
J'ai réalisé une application en VBA assez importante. Celle-ci utilise
des fichiers indexés (random) et des fichiers d'index.
Les fonctions :
ouverture : Open "D:CMKCMKFICHEMACHINE.IND" For Random As #1 Len > Len(MRECORD)
Ecriture : Put #1, INDEX, MRECORD
Lecture : Get #1, INDEX, MRECORD
MRECORD état définit dans les déclarations Public MRECORD As
MACHINERECORD
et MACHINERECORD définit l'enregistrement de 279 caractères de champs
différents.
J'ai créé plusieurs modules qui traitent différents sujets dans cette
application. En en-tête de chaque module, j'ai reporté les mêmes
déclarations de variables, tableaux, et enregistrements, ce qui est
inutile vraisemblablement puisque toutes ces variables sont déclarées
"publiques".
Soit ... Lors de la lecture ou l'écriture d'un enregistrement dans un
fichier indexé, Il me vient de temps en temps une erreur " Longueur
d'enregistrement incorrecte". L'arrêt du programme cause un problème
sérieux en écriture bien entendu.
Il y a tellement longtemps que je cherche d'où provient cette erreur
que j'ai remarqué que la réinitialisation du programme faisait
disparaître cette erreur. Pour ce faire, je dois neutraliser une ligne
quelconque dans la plage des déclarations, compiler, puis rendre la
ligne à nouveau active et recompiler.
J'ai déjà contrôlé maintes fois la longueur d'enregistrement et n'ai
jamais trouvé d'erreur et je crois que l'erreur désignée n'est pas la
vraie erreur.
Auriez-vous une idée pour résoudre ce problème ou tout au moins pour
trouver l'erreur.
Bonsoir Denis Puisque nous en sommes à la longueur... En VBA, le nombre de caractères est-il libre ou limité à un certain nombre pour l'écriture d'une ligne ? Merci et Bonne soirée à toi
-- Bien amicalmement, "Le vin est au repas ce que le parfum est à la femme."
Jacquouille.
"michdenis" a écrit dans le message de news: %
Tu trouves un bon livre (chapitre) sur la déclaration et l'utilisation des variables et tu fais un brin de lecture !
Si tu déclares comme "Public" un nom de variable dans plusieurs modules "Standard", La variable "Public" déclarée dans un module aura préséance lors de l'exécution du code sur la variable Public du même nom déclarée dans un autre module. La conséquence de tout ceci, non seulement excel aura de la difficulté à s'y retrouver, mais toi, tu risques d'avoir de sérieux mots de tête à débugger ton application.
Chaque variable peut avoir 255 caractères ce qui donne suffisamment de souplesse pour éviter "à tout prix" les doublons dans le nom de celle-ci.
Si tu as vraiment besoin de variables "Public", Tu peux te créer un module standard dont la fonction sera de contenir leur déclaration si le nombre le justifie.
Dans un module de classe tel que les modules "Feuille", "ThisWorkbook" ou "module de classe" que tu peux ajouter à ton programme, la déclaration d'une variable Public crée une "PROPRIÉTÉ" appartenant à cette classe d'objet et non une variable... et pour faire référence à cette propriété, tu dois utiliser le nom de l'objet devant la propriété comme : Feuil1.MaVariable pour y faiire référence ailleurs que dans le module où elle a été créée.
Organise ta déclaration de variable et observe si tu as toujours le même problème !
"Tchantchet" a écrit dans le message de news:
Bonjour à tous,
J'ai réalisé une application en VBA assez importante. Celle-ci utilise des fichiers indexés (random) et des fichiers d'index. Les fonctions : ouverture : Open "D:CMKCMKFICHEMACHINE.IND" For Random As #1 Len > Len(MRECORD) Ecriture : Put #1, INDEX, MRECORD Lecture : Get #1, INDEX, MRECORD
MRECORD état définit dans les déclarations Public MRECORD As MACHINERECORD et MACHINERECORD définit l'enregistrement de 279 caractères de champs différents.
J'ai créé plusieurs modules qui traitent différents sujets dans cette application. En en-tête de chaque module, j'ai reporté les mêmes déclarations de variables, tableaux, et enregistrements, ce qui est inutile vraisemblablement puisque toutes ces variables sont déclarées "publiques".
Soit ... Lors de la lecture ou l'écriture d'un enregistrement dans un fichier indexé, Il me vient de temps en temps une erreur " Longueur d'enregistrement incorrecte". L'arrêt du programme cause un problème sérieux en écriture bien entendu.
Il y a tellement longtemps que je cherche d'où provient cette erreur que j'ai remarqué que la réinitialisation du programme faisait disparaître cette erreur. Pour ce faire, je dois neutraliser une ligne quelconque dans la plage des déclarations, compiler, puis rendre la ligne à nouveau active et recompiler. J'ai déjà contrôlé maintes fois la longueur d'enregistrement et n'ai jamais trouvé d'erreur et je crois que l'erreur désignée n'est pas la vraie erreur.
Auriez-vous une idée pour résoudre ce problème ou tout au moins pour trouver l'erreur.
Merci d'avance
michdenis
| En VBA, le nombre de caractères est-il libre ou limité | à un certain nombre pour l'écriture d'une ligne ?
Une ligne de code dans l'éditeur vba ne peut pas dépasser 1024 caractères... comprenant caractères, espace et guillemets...
Je n'ai jamais eu besoin d'aller au delà !
| En VBA, le nombre de caractères est-il libre ou limité
| à un certain nombre pour l'écriture d'une ligne ?
Une ligne de code dans l'éditeur vba ne peut pas dépasser 1024 caractères...
comprenant caractères, espace et guillemets...