tableau de type personnalisé : qualificateur incorrect
6 réponses
Le Nordiste
Bonjour tertous,
Je d=E9sire sauvegarder le contenu et l'adresse de cellules successives
dans un 'tableauSauvegarde', pour cela je d=E9finis un type personnel
'SauvegardeCellule' ;
tout =E7a dans un module
'=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D
'TYPE PERSONNEL
Type SauvegardeCellule
Adresse As String
Valeur As Variant
End Type
'---------------------------------------------------------
'VARIABLES GLOBALES
Public tableauSauvegarde() As SauvegardeCellule
'=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D
Pour tester je fais simplement le code suivant dans un module de
feuille :
MsgBox tableauSauvegarde.Valeur(0)
Et Excel me r=E9pond par un message d'erreur : "Qualificateur incorrect"
O=F9 est mon erreur ?
Remerciements anticip=E9s, cordialement,
Le Nordiste
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
Ardus Petus
Essaie plutôt: MsgBox tableauSauvegarde(0).Valeur
Cordialement, -- AP
"Le Nordiste" a écrit dans le message de news: Bonjour tertous,
Je désire sauvegarder le contenu et l'adresse de cellules successives dans un 'tableauSauvegarde', pour cela je définis un type personnel 'SauvegardeCellule' ; tout ça dans un module
'============================= 'TYPE PERSONNEL Type SauvegardeCellule Adresse As String Valeur As Variant End Type '--------------------------------------------------------- 'VARIABLES GLOBALES Public tableauSauvegarde() As SauvegardeCellule '============================= Pour tester je fais simplement le code suivant dans un module de feuille : MsgBox tableauSauvegarde.Valeur(0)
Et Excel me répond par un message d'erreur : "Qualificateur incorrect"
Où est mon erreur ?
Remerciements anticipés, cordialement, Le Nordiste
Essaie plutôt:
MsgBox tableauSauvegarde(0).Valeur
Cordialement,
--
AP
"Le Nordiste" <jean-paul.bataille@cegetel.fr> a écrit dans le message de
news: 1149067223.844252.184940@j55g2000cwa.googlegroups.com...
Bonjour tertous,
Je désire sauvegarder le contenu et l'adresse de cellules successives
dans un 'tableauSauvegarde', pour cela je définis un type personnel
'SauvegardeCellule' ;
tout ça dans un module
'============================= 'TYPE PERSONNEL
Type SauvegardeCellule
Adresse As String
Valeur As Variant
End Type
'---------------------------------------------------------
'VARIABLES GLOBALES
Public tableauSauvegarde() As SauvegardeCellule
'=============================
Pour tester je fais simplement le code suivant dans un module de
feuille :
MsgBox tableauSauvegarde.Valeur(0)
Et Excel me répond par un message d'erreur : "Qualificateur incorrect"
Où est mon erreur ?
Remerciements anticipés, cordialement,
Le Nordiste
"Le Nordiste" a écrit dans le message de news: Bonjour tertous,
Je désire sauvegarder le contenu et l'adresse de cellules successives dans un 'tableauSauvegarde', pour cela je définis un type personnel 'SauvegardeCellule' ; tout ça dans un module
'============================= 'TYPE PERSONNEL Type SauvegardeCellule Adresse As String Valeur As Variant End Type '--------------------------------------------------------- 'VARIABLES GLOBALES Public tableauSauvegarde() As SauvegardeCellule '============================= Pour tester je fais simplement le code suivant dans un module de feuille : MsgBox tableauSauvegarde.Valeur(0)
Et Excel me répond par un message d'erreur : "Qualificateur incorrect"
Où est mon erreur ?
Remerciements anticipés, cordialement, Le Nordiste
Le Nordiste
Bonjour Ardus Petus
Le Pb etait bien tapi dans les parenthèses, merci. Mais maintenant j'ai le message ' l'indice n'appartient pas à la sélection'. J'ai essayé avec 0,1 ou 2 et même avec le compteur ad'hoc.
Le Nordiste.
Bonjour Ardus Petus
Le Pb etait bien tapi dans les parenthèses, merci.
Mais maintenant j'ai le message ' l'indice n'appartient pas à la
sélection'.
J'ai essayé avec 0,1 ou 2 et même avec le compteur ad'hoc.
Le Pb etait bien tapi dans les parenthèses, merci. Mais maintenant j'ai le message ' l'indice n'appartient pas à la sélection'. J'ai essayé avec 0,1 ou 2 et même avec le compteur ad'hoc.
Le Nordiste.
Ardus Petus
Comment est-ce que ton tableau est initialisé
Cordialement -- AP (né à Gravelines)
"Le Nordiste" a écrit dans le message de news:
Bonjour Ardus Petus
Le Pb etait bien tapi dans les parenthèses, merci. Mais maintenant j'ai le message ' l'indice n'appartient pas à la sélection'. J'ai essayé avec 0,1 ou 2 et même avec le compteur ad'hoc.
Le Nordiste.
Comment est-ce que ton tableau est initialisé
Cordialement
--
AP
(né à Gravelines)
"Le Nordiste" <jean-paul.bataille@cegetel.fr> a écrit dans le message de
news: 1149071944.336130.303430@h76g2000cwa.googlegroups.com...
Bonjour Ardus Petus
Le Pb etait bien tapi dans les parenthèses, merci.
Mais maintenant j'ai le message ' l'indice n'appartient pas à la
sélection'.
J'ai essayé avec 0,1 ou 2 et même avec le compteur ad'hoc.
Le Pb etait bien tapi dans les parenthèses, merci. Mais maintenant j'ai le message ' l'indice n'appartient pas à la sélection'. J'ai essayé avec 0,1 ou 2 et même avec le compteur ad'hoc.
Le Nordiste.
Le Nordiste
Re AP(né à Gravelines),
La déclaration se fait dans le module comme ci-dessus décrit L'initialisation dans le module de la feuille dés la première sélection. Je pars du principe qu'à l'ouverture du fichier il faudra bien aller à une nouvelle sélection
'======================== ======================== Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If IsEmpty(tableauSauvegarde(iCptrSauvegarde).Valeur) Then 'INITIALISER LE TABLEAU DE SAUVEGARDE ReDim SelectionSauvegarde(iDimensionSauvegarde) tableauSauvegarde(iCptrSauvegarde).Valeur = Target.Value tableauSauvegarde(iCptrSauvegarde).Adresse = Target.Address MsgTemp tableauSauvegarde(iCptrSauvegarde).Valeur & " @ " _ & tableauSauvegarde(iCptrSauvegarde).Adresse, 1 End If '======================== ========================
Hors du propos je suis originaire de Wimereux, donc pour les connaisseurs du Pas de Calais, mais vu d'ici, région parisiennne, passé Creil c'est le Nord. Qu'ils y restent dans leur Sud de l'Oise...
Re AP(né à Gravelines),
La déclaration se fait dans le module comme ci-dessus décrit
L'initialisation dans le module de la feuille dés la première
sélection.
Je pars du principe qu'à l'ouverture du fichier il faudra bien aller
à une nouvelle sélection
'======================== ========================
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If IsEmpty(tableauSauvegarde(iCptrSauvegarde).Valeur) Then
'INITIALISER LE TABLEAU DE SAUVEGARDE
ReDim SelectionSauvegarde(iDimensionSauvegarde)
tableauSauvegarde(iCptrSauvegarde).Valeur = Target.Value
tableauSauvegarde(iCptrSauvegarde).Adresse = Target.Address
MsgTemp tableauSauvegarde(iCptrSauvegarde).Valeur & " @ " _
& tableauSauvegarde(iCptrSauvegarde).Adresse, 1
End If
'======================== ========================
Hors du propos je suis originaire de Wimereux,
donc pour les connaisseurs du Pas de Calais, mais vu d'ici,
région parisiennne, passé Creil c'est le Nord.
Qu'ils y restent dans leur Sud de l'Oise...
La déclaration se fait dans le module comme ci-dessus décrit L'initialisation dans le module de la feuille dés la première sélection. Je pars du principe qu'à l'ouverture du fichier il faudra bien aller à une nouvelle sélection
'======================== ======================== Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If IsEmpty(tableauSauvegarde(iCptrSauvegarde).Valeur) Then 'INITIALISER LE TABLEAU DE SAUVEGARDE ReDim SelectionSauvegarde(iDimensionSauvegarde) tableauSauvegarde(iCptrSauvegarde).Valeur = Target.Value tableauSauvegarde(iCptrSauvegarde).Adresse = Target.Address MsgTemp tableauSauvegarde(iCptrSauvegarde).Valeur & " @ " _ & tableauSauvegarde(iCptrSauvegarde).Adresse, 1 End If '======================== ========================
Hors du propos je suis originaire de Wimereux, donc pour les connaisseurs du Pas de Calais, mais vu d'ici, région parisiennne, passé Creil c'est le Nord. Qu'ils y restent dans leur Sud de l'Oise...
Ardus Petus
Si tu ReDim ton tableau à chaque fois que tu y ajoutes qqchose, tu perds toutes les anciennes valeurs!
-- AP
"Le Nordiste" a écrit dans le message de news: Re AP(né à Gravelines),
La déclaration se fait dans le module comme ci-dessus décrit L'initialisation dans le module de la feuille dés la première sélection. Je pars du principe qu'à l'ouverture du fichier il faudra bien aller à une nouvelle sélection
'=============================================== Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If IsEmpty(tableauSauvegarde(iCptrSauvegarde).Valeur) Then 'INITIALISER LE TABLEAU DE SAUVEGARDE ReDim SelectionSauvegarde(iDimensionSauvegarde) tableauSauvegarde(iCptrSauvegarde).Valeur = Target.Value tableauSauvegarde(iCptrSauvegarde).Adresse = Target.Address MsgTemp tableauSauvegarde(iCptrSauvegarde).Valeur & " @ " _ & tableauSauvegarde(iCptrSauvegarde).Adresse, 1 End If '===============================================
Hors du propos je suis originaire de Wimereux, donc pour les connaisseurs du Pas de Calais, mais vu d'ici, région parisiennne, passé Creil c'est le Nord. Qu'ils y restent dans leur Sud de l'Oise...
Si tu ReDim ton tableau à chaque fois que tu y ajoutes qqchose, tu perds
toutes les anciennes valeurs!
--
AP
"Le Nordiste" <jean-paul.bataille@cegetel.fr> a écrit dans le message de
news: 1149077047.062847.316540@c74g2000cwc.googlegroups.com...
Re AP(né à Gravelines),
La déclaration se fait dans le module comme ci-dessus décrit
L'initialisation dans le module de la feuille dés la première
sélection.
Je pars du principe qu'à l'ouverture du fichier il faudra bien aller
à une nouvelle sélection
'=============================================== Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If IsEmpty(tableauSauvegarde(iCptrSauvegarde).Valeur) Then
'INITIALISER LE TABLEAU DE SAUVEGARDE
ReDim SelectionSauvegarde(iDimensionSauvegarde)
tableauSauvegarde(iCptrSauvegarde).Valeur = Target.Value
tableauSauvegarde(iCptrSauvegarde).Adresse = Target.Address
MsgTemp tableauSauvegarde(iCptrSauvegarde).Valeur & " @ " _
& tableauSauvegarde(iCptrSauvegarde).Adresse, 1
End If
'===============================================
Hors du propos je suis originaire de Wimereux,
donc pour les connaisseurs du Pas de Calais, mais vu d'ici,
région parisiennne, passé Creil c'est le Nord.
Qu'ils y restent dans leur Sud de l'Oise...
Si tu ReDim ton tableau à chaque fois que tu y ajoutes qqchose, tu perds toutes les anciennes valeurs!
-- AP
"Le Nordiste" a écrit dans le message de news: Re AP(né à Gravelines),
La déclaration se fait dans le module comme ci-dessus décrit L'initialisation dans le module de la feuille dés la première sélection. Je pars du principe qu'à l'ouverture du fichier il faudra bien aller à une nouvelle sélection
'=============================================== Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If IsEmpty(tableauSauvegarde(iCptrSauvegarde).Valeur) Then 'INITIALISER LE TABLEAU DE SAUVEGARDE ReDim SelectionSauvegarde(iDimensionSauvegarde) tableauSauvegarde(iCptrSauvegarde).Valeur = Target.Value tableauSauvegarde(iCptrSauvegarde).Adresse = Target.Address MsgTemp tableauSauvegarde(iCptrSauvegarde).Valeur & " @ " _ & tableauSauvegarde(iCptrSauvegarde).Adresse, 1 End If '===============================================
Hors du propos je suis originaire de Wimereux, donc pour les connaisseurs du Pas de Calais, mais vu d'ici, région parisiennne, passé Creil c'est le Nord. Qu'ils y restent dans leur Sud de l'Oise...
Le Nordiste
C'est pour ça que j'ai la condition IsEmpty qui encadre le ReDim, mais déja pour cette condition j'ai le message :' n'appartient pas .....' alors que je pense que la première occurence du tableau est vide.
If IsEmpty(tableauSauvegarde(iCptrSauvegarde).Valeur) Then 'INITIALISER LE TABLEAU DE SAUVEGARDE ReDim SelectionSauvegarde(iDimensionSauvegarde) tableauSauvegarde(iCptrSauvegarde).Valeur = Target.Value
End If
Le Nordiste
C'est pour ça que j'ai la condition IsEmpty qui encadre le ReDim,
mais déja pour cette condition j'ai le message :' n'appartient pas
.....'
alors que je pense que la première occurence du tableau est vide.
If IsEmpty(tableauSauvegarde(iCptrSauvegarde).Valeur) Then
'INITIALISER LE TABLEAU DE SAUVEGARDE
ReDim SelectionSauvegarde(iDimensionSauvegarde)
tableauSauvegarde(iCptrSauvegarde).Valeur = Target.Value
C'est pour ça que j'ai la condition IsEmpty qui encadre le ReDim, mais déja pour cette condition j'ai le message :' n'appartient pas .....' alors que je pense que la première occurence du tableau est vide.
If IsEmpty(tableauSauvegarde(iCptrSauvegarde).Valeur) Then 'INITIALISER LE TABLEAU DE SAUVEGARDE ReDim SelectionSauvegarde(iDimensionSauvegarde) tableauSauvegarde(iCptrSauvegarde).Valeur = Target.Value