OVH Cloud OVH Cloud

Problème DonnéesExternes trop nombreuses

7 réponses
Avatar
elo02
Bonjour,

J'ai un nouveau problème à résoudre!
Depuis ce matin dès que j'ouvre mon classeur excel, j'ai plusieurs meesages
qui apparaissent à la suite:
*[Microsoft][Pilote ODBC Excel] Trop de tâches clients
*[Microsoft][Gestion de pilotes ODBC] Echec SQLSet ConnectAttr du Pilote
*"Sélection source de données" (où je sélectionne fichier excel)
*"Impossible d'actualiser la base de données suivante: DonnéesExternes_35.
Voulez-vous continuer l'actualisation?"

Je pense que le problème ce sont mes requêtes Query que j'appelle par la
macro :

Sub ListeB9Allee()

Dim Requete As String
Requete = "FINDER;T:\ELG\B9\B9" & Range("Allee") & ".dqy"
Range("B7") = "B9 " & Range("Allee")
Range("A14:h16000") = ""
Range("Titre_Liste") = "Liste complète"

With ActiveSheet.QueryTables.Add(Connection:= _
Requete, Destination:=Range("deb_B9"))
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = True
.BackgroundQuery = True
.RefreshStyle = xlInPlace
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With

End Sub

Et je vois bien ces DonnéesExternes apparaitre dans la liste des zones que
j'ai définies, sauf que pour le coup je ne sais pas pourquoi elles sont là!
Elles s'y accumulent sans que je puisse les enlever (sauf à la main en
passanr par insertion nom définir supprimer: pas très pratique!)

Est ce qu'il est possible de créer une macro disant "dès que j'ouvre le
classeur, je supprime les Données_Externe" ???

Si vous avez une autre solution je suis prenante!

J'espère que quelqu'un peut m'aider. Parce que plus j'ouvre mon classeur
plus j'ai de données externes qui apparaissent!

Merci par avance!

Elo02

7 réponses

Avatar
isabelle
bonjour Elo02,

lors d'une requête, excel crée des Nom dans le classeur,
il faut les détruire avant de relancer une nouvelle requete.

j'ai ajouter le nom "zaza"pour vérifier que la macro efface tout les noms
sauf zaza. dit moi si le test est concluent sur ton pc.


Sub DeleteName()
Dim nom, add, feuille
Application.ScreenUpdating = False
With ActiveWorkbook
For Each nm In .Names
nom = nm.Name
If nom <> "zaza" Then
add = "'" & nm.RefersTo
feuille = Mid(add, 3, Application.Find("!", add) - 3)
Sheets(feuille).Select
.Names(nom).Delete
End If
Next
End With
Application.ScreenUpdating = True
End Sub


isabelle




Bonjour,

J'ai un nouveau problème à résoudre!
Depuis ce matin dès que j'ouvre mon classeur excel, j'ai plusieurs meesages
qui apparaissent à la suite:
*[Microsoft][Pilote ODBC Excel] Trop de tâches clients
*[Microsoft][Gestion de pilotes ODBC] Echec SQLSet ConnectAttr du Pilote
*"Sélection source de données" (où je sélectionne fichier excel)
*"Impossible d'actualiser la base de données suivante: DonnéesExternes_35.
Voulez-vous continuer l'actualisation?"

Je pense que le problème ce sont mes requêtes Query que j'appelle par la
macro :

Sub ListeB9Allee()

Dim Requete As String
Requete = "FINDER;T:ELGB9B9" & Range("Allee") & ".dqy"
Range("B7") = "B9 " & Range("Allee")
Range("A14:h16000") = ""
Range("Titre_Liste") = "Liste complète"

With ActiveSheet.QueryTables.Add(Connection:= _
Requete, Destination:=Range("deb_B9"))
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = True
.BackgroundQuery = True
.RefreshStyle = xlInPlace
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:úlse
End With

End Sub

Et je vois bien ces DonnéesExternes apparaitre dans la liste des zones que
j'ai définies, sauf que pour le coup je ne sais pas pourquoi elles sont là!
Elles s'y accumulent sans que je puisse les enlever (sauf à la main en
passanr par insertion nom définir supprimer: pas très pratique!)

Est ce qu'il est possible de créer une macro disant "dès que j'ouvre le
classeur, je supprime les Données_Externe" ???

Si vous avez une autre solution je suis prenante!

J'espère que quelqu'un peut m'aider. Parce que plus j'ouvre mon classeur
plus j'ai de données externes qui apparaissent!

Merci par avance!

Elo02


Avatar
elo02
Oui ça marche trop bien, merci!
J'ai plus qu'à rajouter tous les noms que je veux garder!
Je te remercies encore!
Tu ne sais pas à quel point tu me sauves....


bonjour Elo02,

lors d'une requête, excel crée des Nom dans le classeur,
il faut les détruire avant de relancer une nouvelle requete.

j'ai ajouter le nom "zaza"pour vérifier que la macro efface tout les noms
sauf zaza. dit moi si le test est concluent sur ton pc.


Sub DeleteName()
Dim nom, add, feuille
Application.ScreenUpdating = False
With ActiveWorkbook
For Each nm In .Names
nom = nm.Name
If nom <> "zaza" Then
add = "'" & nm.RefersTo
feuille = Mid(add, 3, Application.Find("!", add) - 3)
Sheets(feuille).Select
..Names(nom).Delete
End If
Next
End With
Application.ScreenUpdating = True
End Sub


isabelle




Bonjour,

J'ai un nouveau problème à résoudre!
Depuis ce matin dès que j'ouvre mon classeur excel, j'ai plusieurs meesages
qui apparaissent à la suite:
*[Microsoft][Pilote ODBC Excel] Trop de tâches clients
*[Microsoft][Gestion de pilotes ODBC] Echec SQLSet ConnectAttr du Pilote
*"Sélection source de données" (où je sélectionne fichier excel)
*"Impossible d'actualiser la base de données suivante: DonnéesExternes_35.
Voulez-vous continuer l'actualisation?"

Je pense que le problème ce sont mes requêtes Query que j'appelle par la
macro :

Sub ListeB9Allee()

Dim Requete As String
Requete = "FINDER;T:ELGB9B9" & Range("Allee") & ".dqy"
Range("B7") = "B9 " & Range("Allee")
Range("A14:h16000") = ""
Range("Titre_Liste") = "Liste complète"

With ActiveSheet.QueryTables.Add(Connection:= _
Requete, Destination:=Range("deb_B9"))
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = True
.BackgroundQuery = True
.RefreshStyle = xlInPlace
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:úlse
End With

End Sub

Et je vois bien ces DonnéesExternes apparaitre dans la liste des zones que
j'ai définies, sauf que pour le coup je ne sais pas pourquoi elles sont là!
Elles s'y accumulent sans que je puisse les enlever (sauf à la main en
passanr par insertion nom définir supprimer: pas très pratique!)

Est ce qu'il est possible de créer une macro disant "dès que j'ouvre le
classeur, je supprime les Données_Externe" ???

Si vous avez une autre solution je suis prenante!

J'espère que quelqu'un peut m'aider. Parce que plus j'ouvre mon classeur
plus j'ai de données externes qui apparaissent!

Merci par avance!

Elo02





Avatar
isabelle
bonne continuation Elo02

et au plaisir :-)
isabelle

Oui ça marche trop bien, merci!
J'ai plus qu'à rajouter tous les noms que je veux garder!
Je te remercies encore!
Tu ne sais pas à quel point tu me sauves....



bonjour Elo02,

lors d'une requête, excel crée des Nom dans le classeur,
il faut les détruire avant de relancer une nouvelle requete.

j'ai ajouter le nom "zaza"pour vérifier que la macro efface tout les noms
sauf zaza. dit moi si le test est concluent sur ton pc.


Sub DeleteName()
Dim nom, add, feuille
Application.ScreenUpdating = False
With ActiveWorkbook
For Each nm In .Names
nom = nm.Name
If nom <> "zaza" Then
add = "'" & nm.RefersTo
feuille = Mid(add, 3, Application.Find("!", add) - 3)
Sheets(feuille).Select
..Names(nom).Delete
End If
Next
End With
Application.ScreenUpdating = True
End Sub


isabelle





Bonjour,

J'ai un nouveau problème à résoudre!
Depuis ce matin dès que j'ouvre mon classeur excel, j'ai plusieurs meesages
qui apparaissent à la suite:
*[Microsoft][Pilote ODBC Excel] Trop de tâches clients
*[Microsoft][Gestion de pilotes ODBC] Echec SQLSet ConnectAttr du Pilote
*"Sélection source de données" (où je sélectionne fichier excel)
*"Impossible d'actualiser la base de données suivante: DonnéesExternes_35.
Voulez-vous continuer l'actualisation?"

Je pense que le problème ce sont mes requêtes Query que j'appelle par la
macro :

Sub ListeB9Allee()

Dim Requete As String
Requete = "FINDER;T:ELGB9B9" & Range("Allee") & ".dqy"
Range("B7") = "B9 " & Range("Allee")
Range("A14:h16000") = ""
Range("Titre_Liste") = "Liste complète"

With ActiveSheet.QueryTables.Add(Connection:= _
Requete, Destination:=Range("deb_B9"))
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = True
.BackgroundQuery = True
.RefreshStyle = xlInPlace
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:úlse
End With

End Sub

Et je vois bien ces DonnéesExternes apparaitre dans la liste des zones que
j'ai définies, sauf que pour le coup je ne sais pas pourquoi elles sont là!
Elles s'y accumulent sans que je puisse les enlever (sauf à la main en
passanr par insertion nom définir supprimer: pas très pratique!)

Est ce qu'il est possible de créer une macro disant "dès que j'ouvre le
classeur, je supprime les Données_Externe" ???

Si vous avez une autre solution je suis prenante!

J'espère que quelqu'un peut m'aider. Parce que plus j'ouvre mon classeur
plus j'ai de données externes qui apparaissent!

Merci par avance!

Elo02







Avatar
elo02
Bonjour,

En fait, ce matin j'ai eu un problème!
J'ai rajouté plein de noms de plages que je voulais garder et quand j'ai
voulu exécuter ma macro ça m'a dit: "erreur d'exécution 9 L'indice
n'appartient pas à la sélection."

Sub DeleteName()
Dim nom, add, feuille
Application.ScreenUpdating = False
With ActiveWorkbook
For Each nm In .Names
nom = nm.Name
If nom <> "Allee" And nom <> "Casiers_a_vérifier" And nom <>
"ComboSelectionFreq" And _
nom <> "critere_bfreq" And nom <> "critere_freq" And nom <> "critere_hfreq"
And _
nom <> "perim" And nom <> "critere_stock0" And nom <> "critere_tout" And _
nom <> "critere_vide" And nom <> "deb_B9" And nom <> "Ecarts" And _
nom <> "Emplacements_a_vérifier" And nom <> "Emplacements_existants" And _
nom <> "Emplacements_Libres" And nom <> "Emplacements_occupés" And _
nom <> "Emplacements_possibles_dénom" And nom <> "Fréquences" And nom <>
"ListeB9" And _
nom <> "Somme_fréquences" And nom <> "Titre_Liste" Then
add = "'" & nm.RefersTo
feuille = Mid(add, 3, Application.Find("!", add) - 3)
Sheets(feuille).Select
.Names(nom).Delete
End If
Next
End With
Application.ScreenUpdating = True
End Sub


En fait mon classeur Supervison B9 se trouve sur un disque de transfert
(T:ELGB9Supervison B9)
Le débogueur surligne Sheets(feuille).Select et sur la ligne du dessus il
dit que feuille ="'T:riesser_a[Supervison_TL]Liste"'
Je ne comprend pas pourquoi dans feuille il y a un nom qui n'existe pas dans
mon classeur Supervison B9 , d'autant plus que supervisonTL n'est pas ouvert.
Je viens de réessayer avec juste "zaza"et ça nem arche pas non plus.
Je galère...
Comme je ne comprend pas le code je ne sais pas quoi changer. J'ai essyer en
mettent feuille1 au lieu de feuille parout, mais c'est pas ça!

J'espère ne pas trop t'embêter en te demandant de l'aide une deuxième fois..

Elo02




bonne continuation Elo02

et au plaisir :-)
isabelle

Oui ça marche trop bien, merci!
J'ai plus qu'à rajouter tous les noms que je veux garder!
Je te remercies encore!
Tu ne sais pas à quel point tu me sauves....



bonjour Elo02,

lors d'une requête, excel crée des Nom dans le classeur,
il faut les détruire avant de relancer une nouvelle requete.

j'ai ajouter le nom "zaza"pour vérifier que la macro efface tout les noms
sauf zaza. dit moi si le test est concluent sur ton pc.


Sub DeleteName()
Dim nom, add, feuille
Application.ScreenUpdating = False
With ActiveWorkbook
For Each nm In .Names
nom = nm.Name
If nom <> "zaza" Then
add = "'" & nm.RefersTo
feuille = Mid(add, 3, Application.Find("!", add) - 3)
Sheets(feuille).Select
..Names(nom).Delete
End If
Next
End With
Application.ScreenUpdating = True
End Sub


isabelle





Bonjour,

J'ai un nouveau problème à résoudre!
Depuis ce matin dès que j'ouvre mon classeur excel, j'ai plusieurs meesages
qui apparaissent à la suite:
*[Microsoft][Pilote ODBC Excel] Trop de tâches clients
*[Microsoft][Gestion de pilotes ODBC] Echec SQLSet ConnectAttr du Pilote
*"Sélection source de données" (où je sélectionne fichier excel)
*"Impossible d'actualiser la base de données suivante: DonnéesExternes_35.
Voulez-vous continuer l'actualisation?"

Je pense que le problème ce sont mes requêtes Query que j'appelle par la
macro :

Sub ListeB9Allee()

Dim Requete As String
Requete = "FINDER;T:ELGB9B9" & Range("Allee") & ".dqy"
Range("B7") = "B9 " & Range("Allee")
Range("A14:h16000") = ""
Range("Titre_Liste") = "Liste complète"

With ActiveSheet.QueryTables.Add(Connection:= _
Requete, Destination:=Range("deb_B9"))
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = True
.BackgroundQuery = True
.RefreshStyle = xlInPlace
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:úlse
End With

End Sub

Et je vois bien ces DonnéesExternes apparaitre dans la liste des zones que
j'ai définies, sauf que pour le coup je ne sais pas pourquoi elles sont là!
Elles s'y accumulent sans que je puisse les enlever (sauf à la main en
passanr par insertion nom définir supprimer: pas très pratique!)

Est ce qu'il est possible de créer une macro disant "dès que j'ouvre le
classeur, je supprime les Données_Externe" ???

Si vous avez une autre solution je suis prenante!

J'espère que quelqu'un peut m'aider. Parce que plus j'ouvre mon classeur
plus j'ai de données externes qui apparaissent!

Merci par avance!

Elo02










Avatar
isabelle
sans voir le fichier c'est difficile de répondre,
si tu peut le "déposer" là: http://www.cjoint.com
et venir donner ici le lien de téléchargement que le site va donner,
je pourrai regarder ça de plus près.

isabelle

Bonjour,

En fait, ce matin j'ai eu un problème!
J'ai rajouté plein de noms de plages que je voulais garder et quand j'ai
voulu exécuter ma macro ça m'a dit: "erreur d'exécution 9 L'indice
n'appartient pas à la sélection."

Sub DeleteName()
Dim nom, add, feuille
Application.ScreenUpdating = False
With ActiveWorkbook
For Each nm In .Names
nom = nm.Name
If nom <> "Allee" And nom <> "Casiers_a_vérifier" And nom <>
"ComboSelectionFreq" And _
nom <> "critere_bfreq" And nom <> "critere_freq" And nom <> "critere_hfreq"
And _
nom <> "perim" And nom <> "critere_stock0" And nom <> "critere_tout" And _
nom <> "critere_vide" And nom <> "deb_B9" And nom <> "Ecarts" And _
nom <> "Emplacements_a_vérifier" And nom <> "Emplacements_existants" And _
nom <> "Emplacements_Libres" And nom <> "Emplacements_occupés" And _
nom <> "Emplacements_possibles_dénom" And nom <> "Fréquences" And nom <>
"ListeB9" And _
nom <> "Somme_fréquences" And nom <> "Titre_Liste" Then
add = "'" & nm.RefersTo
feuille = Mid(add, 3, Application.Find("!", add) - 3)
Sheets(feuille).Select
.Names(nom).Delete
End If
Next
End With
Application.ScreenUpdating = True
End Sub


En fait mon classeur Supervison B9 se trouve sur un disque de transfert
(T:ELGB9Supervison B9)
Le débogueur surligne Sheets(feuille).Select et sur la ligne du dessus il
dit que feuille ="'T:riesser_a[Supervison_TL]Liste"'
Je ne comprend pas pourquoi dans feuille il y a un nom qui n'existe pas dans
mon classeur Supervison B9 , d'autant plus que supervisonTL n'est pas ouvert.
Je viens de réessayer avec juste "zaza"et ça nem arche pas non plus.
Je galère...
Comme je ne comprend pas le code je ne sais pas quoi changer. J'ai essyer en
mettent feuille1 au lieu de feuille parout, mais c'est pas ça!

J'espère ne pas trop t'embêter en te demandant de l'aide une deuxième fois..

Elo02





bonne continuation Elo02

et au plaisir :-)
isabelle


Oui ça marche trop bien, merci!
J'ai plus qu'à rajouter tous les noms que je veux garder!
Je te remercies encore!
Tu ne sais pas à quel point tu me sauves....




bonjour Elo02,

lors d'une requête, excel crée des Nom dans le classeur,
il faut les détruire avant de relancer une nouvelle requete.

j'ai ajouter le nom "zaza"pour vérifier que la macro efface tout les noms
sauf zaza. dit moi si le test est concluent sur ton pc.


Sub DeleteName()
Dim nom, add, feuille
Application.ScreenUpdating = False
With ActiveWorkbook
For Each nm In .Names
nom = nm.Name
If nom <> "zaza" Then
add = "'" & nm.RefersTo
feuille = Mid(add, 3, Application.Find("!", add) - 3)
Sheets(feuille).Select
..Names(nom).Delete
End If
Next
End With
Application.ScreenUpdating = True
End Sub


isabelle






Bonjour,

J'ai un nouveau problème à résoudre!
Depuis ce matin dès que j'ouvre mon classeur excel, j'ai plusieurs meesages
qui apparaissent à la suite:
*[Microsoft][Pilote ODBC Excel] Trop de tâches clients
*[Microsoft][Gestion de pilotes ODBC] Echec SQLSet ConnectAttr du Pilote
*"Sélection source de données" (où je sélectionne fichier excel)
*"Impossible d'actualiser la base de données suivante: DonnéesExternes_35.
Voulez-vous continuer l'actualisation?"

Je pense que le problème ce sont mes requêtes Query que j'appelle par la
macro :

Sub ListeB9Allee()

Dim Requete As String
Requete = "FINDER;T:ELGB9B9" & Range("Allee") & ".dqy"
Range("B7") = "B9 " & Range("Allee")
Range("A14:h16000") = ""
Range("Titre_Liste") = "Liste complète"

With ActiveSheet.QueryTables.Add(Connection:= _
Requete, Destination:=Range("deb_B9"))
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = True
.BackgroundQuery = True
.RefreshStyle = xlInPlace
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:úlse
End With

End Sub

Et je vois bien ces DonnéesExternes apparaitre dans la liste des zones que
j'ai définies, sauf que pour le coup je ne sais pas pourquoi elles sont là!
Elles s'y accumulent sans que je puisse les enlever (sauf à la main en
passanr par insertion nom définir supprimer: pas très pratique!)

Est ce qu'il est possible de créer une macro disant "dès que j'ouvre le
classeur, je supprime les Données_Externe" ???

Si vous avez une autre solution je suis prenante!

J'espère que quelqu'un peut m'aider. Parce que plus j'ouvre mon classeur
plus j'ai de données externes qui apparaissent!

Merci par avance!

Elo02











Avatar
elo02
Le réseau de mon entreprise bloque l'accès à ce site...


"isabelle" wrote:

sans voir le fichier c'est difficile de répondre,
si tu peut le "déposer" là: http://www.cjoint.com
et venir donner ici le lien de téléchargement que le site va donner,
je pourrai regarder ça de plus près.

isabelle

Bonjour,

En fait, ce matin j'ai eu un problème!
J'ai rajouté plein de noms de plages que je voulais garder et quand j'ai
voulu exécuter ma macro ça m'a dit: "erreur d'exécution 9 L'indice
n'appartient pas à la sélection."

Sub DeleteName()
Dim nom, add, feuille
Application.ScreenUpdating = False
With ActiveWorkbook
For Each nm In .Names
nom = nm.Name
If nom <> "Allee" And nom <> "Casiers_a_vérifier" And nom <>
"ComboSelectionFreq" And _
nom <> "critere_bfreq" And nom <> "critere_freq" And nom <> "critere_hfreq"
And _
nom <> "perim" And nom <> "critere_stock0" And nom <> "critere_tout" And _
nom <> "critere_vide" And nom <> "deb_B9" And nom <> "Ecarts" And _
nom <> "Emplacements_a_vérifier" And nom <> "Emplacements_existants" And _
nom <> "Emplacements_Libres" And nom <> "Emplacements_occupés" And _
nom <> "Emplacements_possibles_dénom" And nom <> "Fréquences" And nom <>
"ListeB9" And _
nom <> "Somme_fréquences" And nom <> "Titre_Liste" Then
add = "'" & nm.RefersTo
feuille = Mid(add, 3, Application.Find("!", add) - 3)
Sheets(feuille).Select
.Names(nom).Delete
End If
Next
End With
Application.ScreenUpdating = True
End Sub


En fait mon classeur Supervison B9 se trouve sur un disque de transfert
(T:ELGB9Supervison B9)
Le débogueur surligne Sheets(feuille).Select et sur la ligne du dessus il
dit que feuille ="'T:riesser_a[Supervison_TL]Liste"'
Je ne comprend pas pourquoi dans feuille il y a un nom qui n'existe pas dans
mon classeur Supervison B9 , d'autant plus que supervisonTL n'est pas ouvert.
Je viens de réessayer avec juste "zaza"et ça nem arche pas non plus.
Je galère...
Comme je ne comprend pas le code je ne sais pas quoi changer. J'ai essyer en
mettent feuille1 au lieu de feuille parout, mais c'est pas ça!

J'espère ne pas trop t'embêter en te demandant de l'aide une deuxième fois..

Elo02





bonne continuation Elo02

et au plaisir :-)
isabelle


Oui ça marche trop bien, merci!
J'ai plus qu'à rajouter tous les noms que je veux garder!
Je te remercies encore!
Tu ne sais pas à quel point tu me sauves....




bonjour Elo02,

lors d'une requête, excel crée des Nom dans le classeur,
il faut les détruire avant de relancer une nouvelle requete.

j'ai ajouter le nom "zaza"pour vérifier que la macro efface tout les noms
sauf zaza. dit moi si le test est concluent sur ton pc.


Sub DeleteName()
Dim nom, add, feuille
Application.ScreenUpdating = False
With ActiveWorkbook
For Each nm In .Names
nom = nm.Name
If nom <> "zaza" Then
add = "'" & nm.RefersTo
feuille = Mid(add, 3, Application.Find("!", add) - 3)
Sheets(feuille).Select
..Names(nom).Delete
End If
Next
End With
Application.ScreenUpdating = True
End Sub


isabelle






Bonjour,

J'ai un nouveau problème à résoudre!
Depuis ce matin dès que j'ouvre mon classeur excel, j'ai plusieurs meesages
qui apparaissent à la suite:
*[Microsoft][Pilote ODBC Excel] Trop de tâches clients
*[Microsoft][Gestion de pilotes ODBC] Echec SQLSet ConnectAttr du Pilote
*"Sélection source de données" (où je sélectionne fichier excel)
*"Impossible d'actualiser la base de données suivante: DonnéesExternes_35.
Voulez-vous continuer l'actualisation?"

Je pense que le problème ce sont mes requêtes Query que j'appelle par la
macro :

Sub ListeB9Allee()

Dim Requete As String
Requete = "FINDER;T:ELGB9B9" & Range("Allee") & ".dqy"
Range("B7") = "B9 " & Range("Allee")
Range("A14:h16000") = ""
Range("Titre_Liste") = "Liste complète"

With ActiveSheet.QueryTables.Add(Connection:= _
Requete, Destination:=Range("deb_B9"))
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = True
.BackgroundQuery = True
.RefreshStyle = xlInPlace
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:úlse
End With

End Sub

Et je vois bien ces DonnéesExternes apparaitre dans la liste des zones que
j'ai définies, sauf que pour le coup je ne sais pas pourquoi elles sont là!
Elles s'y accumulent sans que je puisse les enlever (sauf à la main en
passanr par insertion nom définir supprimer: pas très pratique!)

Est ce qu'il est possible de créer une macro disant "dès que j'ouvre le
classeur, je supprime les Données_Externe" ???

Si vous avez une autre solution je suis prenante!

J'espère que quelqu'un peut m'aider. Parce que plus j'ouvre mon classeur
plus j'ai de données externes qui apparaissent!

Merci par avance!

Elo02














Avatar
isabelle
peut tu me donner la liste des nom tel que tu les voie au menu, Donner, Créer.
et mettre une mention pour les nom à détruire.

isabelle

Le réseau de mon entreprise bloque l'accès à ce site...


"isabelle" wrote:


sans voir le fichier c'est difficile de répondre,
si tu peut le "déposer" là: http://www.cjoint.com
et venir donner ici le lien de téléchargement que le site va donner,
je pourrai regarder ça de plus près.

isabelle


Bonjour,

En fait, ce matin j'ai eu un problème!
J'ai rajouté plein de noms de plages que je voulais garder et quand j'ai
voulu exécuter ma macro ça m'a dit: "erreur d'exécution 9 L'indice
n'appartient pas à la sélection."

Sub DeleteName()
Dim nom, add, feuille
Application.ScreenUpdating = False
With ActiveWorkbook
For Each nm In .Names
nom = nm.Name
If nom <> "Allee" And nom <> "Casiers_a_vérifier" And nom <>
"ComboSelectionFreq" And _
nom <> "critere_bfreq" And nom <> "critere_freq" And nom <> "critere_hfreq"
And _
nom <> "perim" And nom <> "critere_stock0" And nom <> "critere_tout" And _
nom <> "critere_vide" And nom <> "deb_B9" And nom <> "Ecarts" And _
nom <> "Emplacements_a_vérifier" And nom <> "Emplacements_existants" And _
nom <> "Emplacements_Libres" And nom <> "Emplacements_occupés" And _
nom <> "Emplacements_possibles_dénom" And nom <> "Fréquences" And nom <>
"ListeB9" And _
nom <> "Somme_fréquences" And nom <> "Titre_Liste" Then
add = "'" & nm.RefersTo
feuille = Mid(add, 3, Application.Find("!", add) - 3)
Sheets(feuille).Select
.Names(nom).Delete
End If
Next
End With
Application.ScreenUpdating = True
End Sub


En fait mon classeur Supervison B9 se trouve sur un disque de transfert
(T:ELGB9Supervison B9)
Le débogueur surligne Sheets(feuille).Select et sur la ligne du dessus il
dit que feuille ="'T:riesser_a[Supervison_TL]Liste"'
Je ne comprend pas pourquoi dans feuille il y a un nom qui n'existe pas dans
mon classeur Supervison B9 , d'autant plus que supervisonTL n'est pas ouvert.
Je viens de réessayer avec juste "zaza"et ça nem arche pas non plus.
Je galère...
Comme je ne comprend pas le code je ne sais pas quoi changer. J'ai essyer en
mettent feuille1 au lieu de feuille parout, mais c'est pas ça!

J'espère ne pas trop t'embêter en te demandant de l'aide une deuxième fois..

Elo02






bonne continuation Elo02

et au plaisir :-)
isabelle



Oui ça marche trop bien, merci!
J'ai plus qu'à rajouter tous les noms que je veux garder!
Je te remercies encore!
Tu ne sais pas à quel point tu me sauves....





bonjour Elo02,

lors d'une requête, excel crée des Nom dans le classeur,
il faut les détruire avant de relancer une nouvelle requete.

j'ai ajouter le nom "zaza"pour vérifier que la macro efface tout les noms
sauf zaza. dit moi si le test est concluent sur ton pc.


Sub DeleteName()
Dim nom, add, feuille
Application.ScreenUpdating = False
With ActiveWorkbook
For Each nm In .Names
nom = nm.Name
If nom <> "zaza" Then
add = "'" & nm.RefersTo
feuille = Mid(add, 3, Application.Find("!", add) - 3)
Sheets(feuille).Select
..Names(nom).Delete
End If
Next
End With
Application.ScreenUpdating = True
End Sub


isabelle







Bonjour,

J'ai un nouveau problème à résoudre!
Depuis ce matin dès que j'ouvre mon classeur excel, j'ai plusieurs meesages
qui apparaissent à la suite:
*[Microsoft][Pilote ODBC Excel] Trop de tâches clients
*[Microsoft][Gestion de pilotes ODBC] Echec SQLSet ConnectAttr du Pilote
*"Sélection source de données" (où je sélectionne fichier excel)
*"Impossible d'actualiser la base de données suivante: DonnéesExternes_35.
Voulez-vous continuer l'actualisation?"

Je pense que le problème ce sont mes requêtes Query que j'appelle par la
macro :

Sub ListeB9Allee()

Dim Requete As String
Requete = "FINDER;T:ELGB9B9" & Range("Allee") & ".dqy"
Range("B7") = "B9 " & Range("Allee")
Range("A14:h16000") = ""
Range("Titre_Liste") = "Liste complète"

With ActiveSheet.QueryTables.Add(Connection:= _
Requete, Destination:=Range("deb_B9"))
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = True
.BackgroundQuery = True
.RefreshStyle = xlInPlace
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:úlse
End With

End Sub

Et je vois bien ces DonnéesExternes apparaitre dans la liste des zones que
j'ai définies, sauf que pour le coup je ne sais pas pourquoi elles sont là!
Elles s'y accumulent sans que je puisse les enlever (sauf à la main en
passanr par insertion nom définir supprimer: pas très pratique!)

Est ce qu'il est possible de créer une macro disant "dès que j'ouvre le
classeur, je supprime les Données_Externe" ???

Si vous avez une autre solution je suis prenante!

J'espère que quelqu'un peut m'aider. Parce que plus j'ouvre mon classeur
plus j'ai de données externes qui apparaissent!

Merci par avance!

Elo02