joliemaman007
XLDnaute Nouveau
Bonjour tout le monde,
Je ne comprend pas très bien pourquoi tous les champs que j'ai créé n'apparaissent pas si je demande à Excel de me donner la liste complete.
Si quelqu'un(e) pouvait m'expliquer ou je me fourvoie, ce serait très sympa.
2 feuilles quasiment identiques (dans un workbook):
1 . Edit_Record
2. Modif_record
Disons 4 champs par feuille pour simplifier
1. champs_1 adresse : =Edit_Record!$H$13
2. champs_2 adresse : =Edit_Record!$T$13
3. champs_3 adresse : =Edit_Record!$AF$13
4. champs_4 adresse : =Edit_Record!$H$15
ET
1. champs_1 adresse : =Modif_Record!$H$13
2. champs_2 adresse : =Modif_Record!$T$13
3. champs_3 adresse : =Modif_Record!$AF$13
4. champs_4 adresse : =Modif_Record!$H$15
Si je demande à XLS la liste des champs utilisés (je devrais dire zone) en faisant:
Insert - Name - Paste - Paste List
ou en francais Insere - Nom - Colle - Colle Liste
ca ne me donne que :
1. champs_1 adresse : =Edit_Record!$H$13
2. champs_2 adresse : =Edit_Record!$T$13
3. champs_3 adresse : =Edit_Record!$AF$13
4. champs_4 adresse : =Edit_Record!$H$15
MAIS PAS ceux qui sont sur Modif_Record....
Pour corcer le tout, si je crée une macro en VBA qui utilise champs_1 adresse : =Modif_Record!$H$13 ou d'autre champs sur cette feuille, cela marche.
PAR CONTRE, si je cherche a obtenir la liste de tous les champs feuille par feuille, seuls les 4 premiers (c'est à dire ceux appartenant à Modif_Record) sont trouvés (ALORS que programme est le meme).
Y A T il un Bug ?
N'est il pas possible d'avoir le meme nom de champs (ou de zone) dans deux feuilles séparées ?
Voici le bout de programme qui bugue ou plus exactement qui me bloque ... les neurones
Les variables, ca c OK
Cette partie regarde l'intercalaire Modif_Record, et la, ca va; NomsDesChamps.count est 72
Et la alors, je ne comprends plus; NomdesChamps.count=1 (au lieu de 72 !!!)
Alors comme dirait l'autre : Mais qu'est-ce-que c'est que ce binzzz ?
PS Pas de fichier joint, car > 180k, même zippé.
JolieMaman
Je ne comprend pas très bien pourquoi tous les champs que j'ai créé n'apparaissent pas si je demande à Excel de me donner la liste complete.
Si quelqu'un(e) pouvait m'expliquer ou je me fourvoie, ce serait très sympa.
2 feuilles quasiment identiques (dans un workbook):
1 . Edit_Record
2. Modif_record
Disons 4 champs par feuille pour simplifier
1. champs_1 adresse : =Edit_Record!$H$13
2. champs_2 adresse : =Edit_Record!$T$13
3. champs_3 adresse : =Edit_Record!$AF$13
4. champs_4 adresse : =Edit_Record!$H$15
ET
1. champs_1 adresse : =Modif_Record!$H$13
2. champs_2 adresse : =Modif_Record!$T$13
3. champs_3 adresse : =Modif_Record!$AF$13
4. champs_4 adresse : =Modif_Record!$H$15
Si je demande à XLS la liste des champs utilisés (je devrais dire zone) en faisant:
Insert - Name - Paste - Paste List
ou en francais Insere - Nom - Colle - Colle Liste
ca ne me donne que :
1. champs_1 adresse : =Edit_Record!$H$13
2. champs_2 adresse : =Edit_Record!$T$13
3. champs_3 adresse : =Edit_Record!$AF$13
4. champs_4 adresse : =Edit_Record!$H$15
MAIS PAS ceux qui sont sur Modif_Record....
Pour corcer le tout, si je crée une macro en VBA qui utilise champs_1 adresse : =Modif_Record!$H$13 ou d'autre champs sur cette feuille, cela marche.
PAR CONTRE, si je cherche a obtenir la liste de tous les champs feuille par feuille, seuls les 4 premiers (c'est à dire ceux appartenant à Modif_Record) sont trouvés (ALORS que programme est le meme).
Y A T il un Bug ?
N'est il pas possible d'avoir le meme nom de champs (ou de zone) dans deux feuilles séparées ?
Voici le bout de programme qui bugue ou plus exactement qui me bloque ... les neurones
Les variables, ca c OK
Option Explicit
Public NomDeLaFeuille As String 'variable pour le passage a EffaceChamps
Dim BaseTemporaire(80) As Variant
Dim BaseItemModif(80, 2) As Variant
Dim BaseItemEdit(80, 2) As Variant
Public Numero_Trouve As Range 'pour pouvoir utiliser le resultat dans TOUT le programme
Cette partie regarde l'intercalaire Modif_Record, et la, ca va; NomsDesChamps.count est 72
Sub ConstantesModifications()
Dim NomsDesChamps As Variant
Dim r As Integer
' mis ici car je teste les petits bouts par petits bouts. A retirer par la suite
NomDeLaFeuille = 'Modif_Record'
Set NomsDesChamps = Worksheets(NomDeLaFeuille).Names
For r = 1 To NomsDesChamps.Count
BaseItemModif(r, 1) = NomsDesChamps(r).Name
BaseItemModif(r, 2) = NomsDesChamps(r).RefersToRange.Address
Next
'ca c'est pour vérifier - et c'est Correct MAIS l'ordre des champs ne me convient pas.
'maintenant, il faut que l'ordre d'enregistrement soit:
'item_1, item_2, item_3, item_4, item_4a, item_4b, item_4c, item_5,...)
'POUR LE MOMENT est item_1, item_10,
' For r = 1 To NomsDesChamps.Count
' MsgBox ('Nom de la feuille: --------------------> ') & NomDeLaFeuille & Chr(13) & _
' 'Nom de la zone : ---------------------> ' & BaseItemModif(r, 1) & Chr(13) & _
' 'Adresse: -----------------------------> ' & BaseItemModif(r, 2)
' Next
End Sub
Et la alors, je ne comprends plus; NomdesChamps.count=1 (au lieu de 72 !!!)
Sub ConstantesEditions()
Dim NomsDesChamps As Variant
Dim r As Integer
NomDeLaFeuille = 'Edit_Record'
Set NomsDesChamps = Worksheets(NomDeLaFeuille).Names
For r = 1 To NomsDesChamps.Count
BaseItemEdit(r, 1) = NomsDesChamps(r).Name
BaseItemEdit(r, 2) = NomsDesChamps(r).RefersToRange.Address
Next
MsgBox ('Nom de la feuille: --------------------> ') & NomDeLaFeuille
End Sub
Alors comme dirait l'autre : Mais qu'est-ce-que c'est que ce binzzz ?
PS Pas de fichier joint, car > 180k, même zippé.
JolieMaman