Bonjour ,
À cause d'un contenu illisible qui émet un message d'erreur à chaque
ouverture du classeur X, j'ai entrepris de changer tout le contenu d'un
classeur X vers un classeur Y sans copier intégralement l'ensemble d'une
seule opération mais feuille par feuille, module VBA par module VBA. je
souhaiterais maintenant transposer tous les noms de plages nommées, j'ai
effectué la liste des noms sur X avec cette procédure:
Sub nomdesplages()
Dim a$, j%
With ActiveWorkbook
For j = .Names.Count To 1 Step -1
Cells(j, 1) = .Names(j).Name
Cells(j, 2) = .Parent.Names(j)
Next
End With
End Sub
Après avoir éliminé de la liste les "REF" et autres obsolètes, je souhaite
les créer en lieu et place sur Y, un pt coup de main svp.
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
MichD
Bonjour, Pour copier toutes les feuilles d'un classeur vers un autre classeur : '------------- Sub Copie_Feuilles_Vers_Un_Autre_Classeur() Sheets.copy End Sub '------------- Pour copier les modules standards vers le nouveau classeur : Ouvre l'éditeur de code (VBA) Quand l'ancien et le nouveau classeur sont ouverts, tu sélectionnes à tour de rôle chacun des modules, tu maintiens le bouton droit de la souris enfoncé et tu glisses le module de l'ancien vers le nouveau classeur. Il reste à faire un copier-coller du code que tu as dans le Thisworkbook. Enregistre le classeur et le tour est joué. MichD Le 13/04/19 à 10:08, Fredo P. a écrit :
Bonjour , À cause d'un contenu illisible qui émet un message d'erreur à chaque ouverture du classeur X, j'ai entrepris de changer tout le contenu d'un classeur X vers un classeur Y sans copier intégralement l'ensemble d'une seule opération mais feuille par feuille, module VBA par module VBA. je souhaiterais maintenant transposer tous les noms de plages nommées, j'ai effectué la liste des noms sur X avec cette procédure: Sub nomdesplages() Dim a$, j% With ActiveWorkbook For j = .Names.Count To 1 Step -1 Cells(j, 1) = .Names(j).Name Cells(j, 2) = .Parent.Names(j) Next End With End Sub Après avoir éliminé de la liste les "REF" et autres obsolètes, je souhaite les créer en lieu et place sur Y, un pt coup de main svp.
Bonjour,
Pour copier toutes les feuilles d'un classeur vers un autre classeur :
'-------------
Sub Copie_Feuilles_Vers_Un_Autre_Classeur()
Sheets.copy
End Sub
'-------------
Pour copier les modules standards vers le nouveau classeur :
Ouvre l'éditeur de code (VBA)
Quand l'ancien et le nouveau classeur sont ouverts,
tu sélectionnes à tour de rôle chacun des modules, tu maintiens le
bouton droit de la souris enfoncé et tu glisses le module de l'ancien
vers le nouveau classeur.
Il reste à faire un copier-coller du code que tu as dans le Thisworkbook.
Enregistre le classeur et le tour est joué.
MichD
Le 13/04/19 à 10:08, Fredo P. a écrit :
Bonjour ,
À cause d'un contenu illisible qui émet un message d'erreur à chaque
ouverture du classeur X, j'ai entrepris de changer tout le contenu d'un
classeur X vers un classeur Y sans copier intégralement l'ensemble d'une
seule opération mais feuille par feuille, module VBA par module VBA. je
souhaiterais maintenant transposer tous les noms de plages nommées, j'ai
effectué la liste des noms sur X avec cette procédure:
Sub nomdesplages()
Dim a$, j%
With ActiveWorkbook
For j = .Names.Count To 1 Step -1
Cells(j, 1) = .Names(j).Name
Cells(j, 2) = .Parent.Names(j)
Next
End With
End Sub
Après avoir éliminé de la liste les "REF" et autres obsolètes, je
souhaite les créer en lieu et place sur Y, un pt coup de main svp.
Bonjour, Pour copier toutes les feuilles d'un classeur vers un autre classeur : '------------- Sub Copie_Feuilles_Vers_Un_Autre_Classeur() Sheets.copy End Sub '------------- Pour copier les modules standards vers le nouveau classeur : Ouvre l'éditeur de code (VBA) Quand l'ancien et le nouveau classeur sont ouverts, tu sélectionnes à tour de rôle chacun des modules, tu maintiens le bouton droit de la souris enfoncé et tu glisses le module de l'ancien vers le nouveau classeur. Il reste à faire un copier-coller du code que tu as dans le Thisworkbook. Enregistre le classeur et le tour est joué. MichD Le 13/04/19 à 10:08, Fredo P. a écrit :
Bonjour , À cause d'un contenu illisible qui émet un message d'erreur à chaque ouverture du classeur X, j'ai entrepris de changer tout le contenu d'un classeur X vers un classeur Y sans copier intégralement l'ensemble d'une seule opération mais feuille par feuille, module VBA par module VBA. je souhaiterais maintenant transposer tous les noms de plages nommées, j'ai effectué la liste des noms sur X avec cette procédure: Sub nomdesplages() Dim a$, j% With ActiveWorkbook For j = .Names.Count To 1 Step -1 Cells(j, 1) = .Names(j).Name Cells(j, 2) = .Parent.Names(j) Next End With End Sub Après avoir éliminé de la liste les "REF" et autres obsolètes, je souhaite les créer en lieu et place sur Y, un pt coup de main svp.
Fredo P.
Oui Mich.D Tout cela ne m'a pas posé de pb, pour éviter de recopier ce contenu illisible, j'ai procédé autrement pour les feuilles, j'ai en premier ouvert un classeur neuf créé ensuite les feuilles avec les mêmes correspondances de noms d'onglets avec les noms internes (Feuil1;Feuil2 Etc...) et ensuite les valeurs binaires seules. Maintenant ce que je souhaitais obtenir, c'est le moyen de créer les noms de plages, les mêmes que ceux du premiers classeurs corrompu. J'ai essayé ceci qui bloc sur la ligne sensée attribuer les noms de plages. Sub nomdesplages() Dim a$, j% With ActiveWorkbook For j = 1 To .Names.Count Cells(j, 1) = .Names(j).Name Cells(j, 2) = .Parent.Names(j) Workbooks("Cdmes").Names.Add Name:=.Names(j).Name, RefersToR1C1:= .Parent.Names(j) Next End With End Sub
Oui Mich.D
Tout cela ne m'a pas posé de pb, pour éviter de recopier ce contenu
illisible, j'ai procédé autrement pour les feuilles, j'ai en premier ouvert
un classeur neuf créé ensuite les feuilles avec les mêmes correspondances de
noms d'onglets avec les noms internes (Feuil1;Feuil2 Etc...) et ensuite les
valeurs binaires seules. Maintenant ce que je souhaitais obtenir, c'est le
moyen de créer les noms de plages, les mêmes que ceux du premiers classeurs
corrompu.
J'ai essayé ceci qui bloc sur la ligne sensée attribuer les noms de plages.
Sub nomdesplages()
Dim a$, j%
With ActiveWorkbook
For j = 1 To .Names.Count
Cells(j, 1) = .Names(j).Name
Cells(j, 2) = .Parent.Names(j)
Workbooks("Cdmes").Names.Add Name:=.Names(j).Name,
RefersToR1C1:= .Parent.Names(j)
Next
End With
End Sub
Oui Mich.D Tout cela ne m'a pas posé de pb, pour éviter de recopier ce contenu illisible, j'ai procédé autrement pour les feuilles, j'ai en premier ouvert un classeur neuf créé ensuite les feuilles avec les mêmes correspondances de noms d'onglets avec les noms internes (Feuil1;Feuil2 Etc...) et ensuite les valeurs binaires seules. Maintenant ce que je souhaitais obtenir, c'est le moyen de créer les noms de plages, les mêmes que ceux du premiers classeurs corrompu. J'ai essayé ceci qui bloc sur la ligne sensée attribuer les noms de plages. Sub nomdesplages() Dim a$, j% With ActiveWorkbook For j = 1 To .Names.Count Cells(j, 1) = .Names(j).Name Cells(j, 2) = .Parent.Names(j) Workbooks("Cdmes").Names.Add Name:=.Names(j).Name, RefersToR1C1:= .Parent.Names(j) Next End With End Sub
MichD
Tu as essayé la méthode que je t'ai donnée et elle ne fonctionne pas? La correction de ton code, Remplace le nom du classeur "Workbooks("Classeur2")" par celui de ton application, incluant l'extension si elle existe. '---------------------- Sub nomdesplages() Dim a$, j% With ActiveWorkbook For j = 1 To .Names.Count Cells(j, 1) = .Names(j).Name Cells(j, 2) = .Parent.Names(j) Workbooks("Classeur2").Names.Add .Names(j).Name, .Parent.Names(j) Next End With End Sub '---------------------- MichD
Tu as essayé la méthode que je t'ai donnée et elle ne fonctionne pas?
La correction de ton code,
Remplace le nom du classeur "Workbooks("Classeur2")" par celui de ton
application, incluant l'extension si elle existe.
'----------------------
Sub nomdesplages()
Dim a$, j%
With ActiveWorkbook
For j = 1 To .Names.Count
Cells(j, 1) = .Names(j).Name
Cells(j, 2) = .Parent.Names(j)
Workbooks("Classeur2").Names.Add .Names(j).Name,
.Parent.Names(j)
Next
End With
End Sub
Tu as essayé la méthode que je t'ai donnée et elle ne fonctionne pas? La correction de ton code, Remplace le nom du classeur "Workbooks("Classeur2")" par celui de ton application, incluant l'extension si elle existe. '---------------------- Sub nomdesplages() Dim a$, j% With ActiveWorkbook For j = 1 To .Names.Count Cells(j, 1) = .Names(j).Name Cells(j, 2) = .Parent.Names(j) Workbooks("Classeur2").Names.Add .Names(j).Name, .Parent.Names(j) Next End With End Sub '---------------------- MichD
Fredo P.
Voila, avec un peu de patience j"ai obtenu ce que j'attendais non sans plusieurs essai. Sub nomdesplages() Dim a$, j%, Ad$, Nom$, Sh$ With ActiveWorkbook For j = 1 To .Names.Count Nom = .Names(j).Name Sh = Mid(.Parent.Names(j), 2, InStr(.Parent.Names(j), "!") - 2) '= .Parent.Names(j) Ad = Right(.Parent.Names(j), Len(.Parent.Names(j)) - InStr(.Parent.Names(j), "!")) Workbooks("Cdmes419.xlsm").Names.Add Name:=Nom, RefersTo:="=" & Sh & "!" & Ad Next End With End Sub "MichD" a écrit dans le message de groupe de discussion : q8thpn$1o0q$ Tu as essayé la méthode que je t'ai donnée et elle ne fonctionne pas? La correction de ton code, Remplace le nom du classeur "Workbooks("Classeur2")" par celui de ton application, incluant l'extension si elle existe. '---------------------- Sub nomdesplages() Dim a$, j% With ActiveWorkbook For j = 1 To .Names.Count Cells(j, 1) = .Names(j).Name Cells(j, 2) = .Parent.Names(j) Workbooks("Classeur2").Names.Add .Names(j).Name, .Parent.Names(j) Next End With End Sub '---------------------- MichD
Voila, avec un peu de patience j"ai obtenu ce que j'attendais non sans
plusieurs essai.
Sub nomdesplages()
Dim a$, j%, Ad$, Nom$, Sh$
With ActiveWorkbook
For j = 1 To .Names.Count
Nom = .Names(j).Name
Sh = Mid(.Parent.Names(j), 2, InStr(.Parent.Names(j), "!") - 2) '=
.Parent.Names(j)
Ad = Right(.Parent.Names(j), Len(.Parent.Names(j)) -
InStr(.Parent.Names(j), "!"))
Workbooks("Cdmes419.xlsm").Names.Add Name:=Nom, RefersTo:="=" &
Sh & "!" & Ad
Next
End With
End Sub
"MichD" a écrit dans le message de groupe de discussion :
q8thpn$1o0q$1@gioia.aioe.org...
Tu as essayé la méthode que je t'ai donnée et elle ne fonctionne pas?
La correction de ton code,
Remplace le nom du classeur "Workbooks("Classeur2")" par celui de ton
application, incluant l'extension si elle existe.
'----------------------
Sub nomdesplages()
Dim a$, j%
With ActiveWorkbook
For j = 1 To .Names.Count
Cells(j, 1) = .Names(j).Name
Cells(j, 2) = .Parent.Names(j)
Workbooks("Classeur2").Names.Add .Names(j).Name,
.Parent.Names(j)
Next
End With
End Sub
Voila, avec un peu de patience j"ai obtenu ce que j'attendais non sans plusieurs essai. Sub nomdesplages() Dim a$, j%, Ad$, Nom$, Sh$ With ActiveWorkbook For j = 1 To .Names.Count Nom = .Names(j).Name Sh = Mid(.Parent.Names(j), 2, InStr(.Parent.Names(j), "!") - 2) '= .Parent.Names(j) Ad = Right(.Parent.Names(j), Len(.Parent.Names(j)) - InStr(.Parent.Names(j), "!")) Workbooks("Cdmes419.xlsm").Names.Add Name:=Nom, RefersTo:="=" & Sh & "!" & Ad Next End With End Sub "MichD" a écrit dans le message de groupe de discussion : q8thpn$1o0q$ Tu as essayé la méthode que je t'ai donnée et elle ne fonctionne pas? La correction de ton code, Remplace le nom du classeur "Workbooks("Classeur2")" par celui de ton application, incluant l'extension si elle existe. '---------------------- Sub nomdesplages() Dim a$, j% With ActiveWorkbook For j = 1 To .Names.Count Cells(j, 1) = .Names(j).Name Cells(j, 2) = .Parent.Names(j) Workbooks("Classeur2").Names.Add .Names(j).Name, .Parent.Names(j) Next End With End Sub '---------------------- MichD
Fredo P.
Malgré la réussite du but premier, changer le contenant du contenu, j'ai toujours ce message à l'ouverture du nouveau classeur "Contenu illisible Etc... ", vider le dossier Temp comme vous l'aviez indiqué comme l'application de Microsoft Office "Analyzer Tool 2.0 n'ont pas réglé ce pb qui à Mon humble avis vient d'une MàJ XL récente. "Fredo P." a écrit dans le message de groupe de discussion : q8tjd1$1vad$ Voila, avec un peu de patience j"ai obtenu ce que j'attendais non sans plusieurs essai. Sub nomdesplages() Dim a$, j%, Ad$, Nom$, Sh$ With ActiveWorkbook For j = 1 To .Names.Count Nom = .Names(j).Name Sh = Mid(.Parent.Names(j), 2, InStr(.Parent.Names(j), "!") - 2) ' .Parent.Names(j) Ad = Right(.Parent.Names(j), Len(.Parent.Names(j)) - InStr(.Parent.Names(j), "!")) Workbooks("Cdmes419.xlsm").Names.Add Name:=Nom, RefersTo:="=" & Sh & "!" & Ad Next End With End Sub "MichD" a écrit dans le message de groupe de discussion : q8thpn$1o0q$ Tu as essayé la méthode que je t'ai donnée et elle ne fonctionne pas? La correction de ton code, Remplace le nom du classeur "Workbooks("Classeur2")" par celui de ton application, incluant l'extension si elle existe. '---------------------- Sub nomdesplages() Dim a$, j% With ActiveWorkbook For j = 1 To .Names.Count Cells(j, 1) = .Names(j).Name Cells(j, 2) = .Parent.Names(j) Workbooks("Classeur2").Names.Add .Names(j).Name, .Parent.Names(j) Next End With End Sub '---------------------- MichD
Malgré la réussite du but premier, changer le contenant du contenu, j'ai
toujours ce message à l'ouverture du nouveau classeur "Contenu illisible
Etc... ", vider le dossier Temp comme vous l'aviez indiqué comme
l'application de Microsoft Office "Analyzer Tool 2.0 n'ont pas réglé ce pb
qui à Mon humble avis vient d'une MàJ XL récente.
"Fredo P." a écrit dans le message de groupe de discussion :
q8tjd1$1vad$1@gioia.aioe.org...
Voila, avec un peu de patience j"ai obtenu ce que j'attendais non sans
plusieurs essai.
Sub nomdesplages()
Dim a$, j%, Ad$, Nom$, Sh$
With ActiveWorkbook
For j = 1 To .Names.Count
Nom = .Names(j).Name
Sh = Mid(.Parent.Names(j), 2, InStr(.Parent.Names(j), "!") - 2) ' .Parent.Names(j)
Ad = Right(.Parent.Names(j), Len(.Parent.Names(j)) -
InStr(.Parent.Names(j), "!"))
Workbooks("Cdmes419.xlsm").Names.Add Name:=Nom, RefersTo:="=" &
Sh & "!" & Ad
Next
End With
End Sub
"MichD" a écrit dans le message de groupe de discussion :
q8thpn$1o0q$1@gioia.aioe.org...
Tu as essayé la méthode que je t'ai donnée et elle ne fonctionne pas?
La correction de ton code,
Remplace le nom du classeur "Workbooks("Classeur2")" par celui de ton
application, incluant l'extension si elle existe.
'----------------------
Sub nomdesplages()
Dim a$, j%
With ActiveWorkbook
For j = 1 To .Names.Count
Cells(j, 1) = .Names(j).Name
Cells(j, 2) = .Parent.Names(j)
Workbooks("Classeur2").Names.Add .Names(j).Name,
.Parent.Names(j)
Next
End With
End Sub
Malgré la réussite du but premier, changer le contenant du contenu, j'ai toujours ce message à l'ouverture du nouveau classeur "Contenu illisible Etc... ", vider le dossier Temp comme vous l'aviez indiqué comme l'application de Microsoft Office "Analyzer Tool 2.0 n'ont pas réglé ce pb qui à Mon humble avis vient d'une MàJ XL récente. "Fredo P." a écrit dans le message de groupe de discussion : q8tjd1$1vad$ Voila, avec un peu de patience j"ai obtenu ce que j'attendais non sans plusieurs essai. Sub nomdesplages() Dim a$, j%, Ad$, Nom$, Sh$ With ActiveWorkbook For j = 1 To .Names.Count Nom = .Names(j).Name Sh = Mid(.Parent.Names(j), 2, InStr(.Parent.Names(j), "!") - 2) ' .Parent.Names(j) Ad = Right(.Parent.Names(j), Len(.Parent.Names(j)) - InStr(.Parent.Names(j), "!")) Workbooks("Cdmes419.xlsm").Names.Add Name:=Nom, RefersTo:="=" & Sh & "!" & Ad Next End With End Sub "MichD" a écrit dans le message de groupe de discussion : q8thpn$1o0q$ Tu as essayé la méthode que je t'ai donnée et elle ne fonctionne pas? La correction de ton code, Remplace le nom du classeur "Workbooks("Classeur2")" par celui de ton application, incluant l'extension si elle existe. '---------------------- Sub nomdesplages() Dim a$, j% With ActiveWorkbook For j = 1 To .Names.Count Cells(j, 1) = .Names(j).Name Cells(j, 2) = .Parent.Names(j) Workbooks("Classeur2").Names.Add .Names(j).Name, .Parent.Names(j) Next End With End Sub '---------------------- MichD
MichD
Le 15/04/19 à 03:47, Fredo P. a écrit :
Contenu illisible
Bonjour, Un fil où j'ai déjà donné un exemple de solutions. Cela dit, il y a plusieurs avenues possibles et nul n’est une réponse suffisante à tous les cas de figure. Cela rend la recherche d'une solution difficile. https://answers.microsoft.com/fr-fr/office/forum/office_2010-excel/excel-a-rencontré-un-contenu-illisible/9de8acaa-6334-48ff-9cb4-d5d2d9f20b01?db=5 Si ce fichier ne contient pas des données sensibles, tu peux me l'envoyer dans mon courriel et j'essaierai de l'ouvrir, et ce sans aucune garantie. MichD
Le 15/04/19 à 03:47, Fredo P. a écrit :
Contenu illisible
Bonjour,
Un fil où j'ai déjà donné un exemple de solutions. Cela dit, il y a
plusieurs avenues possibles et nul n’est une réponse suffisante à tous
les cas de figure. Cela rend la recherche d'une solution difficile.
Bonjour, Un fil où j'ai déjà donné un exemple de solutions. Cela dit, il y a plusieurs avenues possibles et nul n’est une réponse suffisante à tous les cas de figure. Cela rend la recherche d'une solution difficile. https://answers.microsoft.com/fr-fr/office/forum/office_2010-excel/excel-a-rencontré-un-contenu-illisible/9de8acaa-6334-48ff-9cb4-d5d2d9f20b01?db=5 Si ce fichier ne contient pas des données sensibles, tu peux me l'envoyer dans mon courriel et j'essaierai de l'ouvrir, et ce sans aucune garantie. MichD