Problème avec une base variable définie pour TCD avec fichiers séparés

  • Initiateur de la discussion Initiateur de la discussion Egruat
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Egruat

XLDnaute Occasionnel
Bonjour,

J'ai un gros problème nécessitant votre aide:

1) j'ai un fichier qui contient une base de données ("database")
2) dans cette base de données, une macro définie un champ de cellules (nommé "dbase") qui regroupe l'ensemble de données
3) dans un autre fichier ("classeur1"), je construis un TCD dont les données font référence au champ défini "dbase" dans le fichier de base de données

Je constate alors que
1) si les deux fichiers restent ouverts et si je vérifie le champ de données sélectionnées, je constate que la partie définie par le champ "dbase" varie en fonction de l'emplacement de mon curseur sur le TCD

2) Si le fichier "database" est ferme, le TCD ne peut se mettre à jour car un message d'erreur indique qu'il y a trop de colonnes sélectionnées dans ma base de données ce qui est incompréhensible

Pouriez-vous m'aider ?

Par avance, merci
 

Pièces jointes

Re : Problème avec une base variable définie pour TCD avec fichiers séparés

Re Egruat le forum
dans ta base ta plage nommée fait 144 colonnes et 924 lignes est-ce bien utile?
déjà tu peux modifier la macro test comme ceci
a+
Papou😱

Code:
Sub Test()
    Dim fin&, col&
    With Sheets("Data")
        fin = .Range("A" & Rows.Count).End(xlUp).Row
        col = .Cells(1, Columns.Count).End(xlToLeft).Column
        ActiveWorkbook.Names.Add Name:="dbase", RefersTo:=.Range(.Cells(1, 1), .Cells(fin, col))
        .Cells(1, 1).Select
    End With
End Sub
 
Dernière édition:
Re : Problème avec une base variable définie pour TCD avec fichiers séparés

Bonjour à tous, re Paritec 😉

Pareil que Paritec, mais je l'ai plus courte 😉
Code:
Sub TestBis()
With Sheets("Data")
.Range(.Cells(1, 1), Cells(Rows.Count, .Cells(1, .Columns.Count).End(xlToLeft).Column).End(xlUp)).Name = "dbase"
End With
End Sub

Et un chouia plus court si plage sans trous
Code:
Sub TestTer()
Sheets("Data").[A1].CurrentRegion.Name = "dbase"
End Sub
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
150
Réponses
4
Affichages
1 K
Retour