Lorsque j'essaie d'ouvrir un de mes fichiers Excell , un=20
message d'erruer appara=EEt :
"Impossible de lire le fichier "
Lorsque je change l'extension en .txt par exemple, les=20
informations apparaissent (inutilisables bien =E9videmment).
J'ai essay=E9 d'enregistrer le fichier sour un autre nom,=20
sur disquette ... mais rien n'y fait.
Savez-vous si je peux r=E9cup=E9rer les donn=E9es saisies dans=20
ce fichier ou si elles sont d=E9finitivement perdues ?
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
Jean-François Aubert
Bonjour France,
tiré de http://www.excelabo.net/xl/plantages.htm#recupdonnées
Récupération de données dans un classeur endommagé Je ne parviens plus à ouvrir mon classeur excel. Il contient des données précieuses. Comment les récupérer ? Une solution avec ADO pour récupérer les données d'une feuille entière (code Rob Bovey, mpep). Si ça ne fonctionne pas, une solution plus "classique" par établissement d'une liaison avec les cellules dont on veut récupérer les valeurs (Ron de bruin, mpep). Dans les deux cas, les données peuvent être récupérées dans un classeur fermé (erreur avec ADO si le classeur est ouvert). Le code doit être copié dans un module standard.
solution 1 (ADO) 'importer le contenu d'une feuille de calcul d'un classeur fermé '(seules les données sont importées, pas les mises en forme)
Sub testQuery() fich$ = "D:ExempleTris.xls" Feuille$ = "Feuil1" QueryWorksheet fich, Feuille End Sub
Public Sub QueryWorksheet(NomFichier$, Feuille$) 'Rob Bovey, mpep 'nécessite une référence à la librairie 'Microsoft ActiveX Data Object 2.x Library Dim rsData As ADODB.Recordset Dim szConnect As String Dim szSQL As String
' La requête est basée sur le nom de la feuille. Ce nom ' doit se terminer par un $ et doit être entouré de crochets droits. szSQL = "SELECT * FROM [" & Feuille & "$];"
Set rsData = New ADODB.Recordset rsData.Open szSQL, szConnect, adOpenForwardOnly, _ adLockReadOnly, adCmdText
''' Vérifie qu'on a bien reçu des données If Not rsData.EOF Then Feuil1.Range("A1").CopyFromRecordset rsData Else MsgBox "Aucun enregistrement renvoyé.", vbCritical End If
''' On nettoie pour finir... rsData.Close Set rsData = Nothing
End Sub '========================== 'solution 2 (liaison) 'récupération de données dans un classeur fermé '(méthode "classique" par établissement d'une liaison temporaire) '(c'est aussi la technique habituellement conseillée pour essayer 'de récupérer des données d'un classeur endommagé)
Sub test() GetValuesFromAClosedWorkbook "D:", "TestADO.xls", "Feuil1", "A1:H25" End Sub
Sub GetValuesFromAClosedWorkbook(fPath As String, _ fName As String, sName, cellRange As String) 'Ron De Bruin, mpep 'le paramètre 'cellRange' doit désigner '*une* plage de cellules *contigües* With ActiveSheet.Range(cellRange) .Formula = "='" & fPath & "[" & fName & "]" _ & sName & "'!" & cellRange .Value = .Value End With End Sub
Frédéric Sigonneau
-- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}
"France" a écrit dans le message de news:078001c34aad$c30afa20$ Bonjour,
Lorsque j'essaie d'ouvrir un de mes fichiers Excell , un message d'erruer apparaît :
"Impossible de lire le fichier "
Lorsque je change l'extension en .txt par exemple, les informations apparaissent (inutilisables bien évidemment). J'ai essayé d'enregistrer le fichier sour un autre nom, sur disquette ... mais rien n'y fait.
Savez-vous si je peux récupérer les données saisies dans ce fichier ou si elles sont définitivement perdues ?
Merci par avance de vos conseils,
France.
Bonjour France,
tiré de http://www.excelabo.net/xl/plantages.htm#recupdonnées
Récupération de données dans un classeur endommagé
Je ne parviens plus à ouvrir mon classeur excel. Il contient des données
précieuses. Comment les récupérer ?
Une solution avec ADO pour récupérer les données d'une feuille entière
(code Rob Bovey, mpep). Si ça ne fonctionne pas, une solution plus
"classique" par établissement d'une liaison avec les cellules dont on veut
récupérer les valeurs (Ron de bruin, mpep).
Dans les deux cas, les données peuvent être récupérées dans un classeur fermé
(erreur avec ADO si le classeur est ouvert). Le code doit être copié dans un
module standard.
solution 1 (ADO)
'importer le contenu d'une feuille de calcul d'un classeur fermé
'(seules les données sont importées, pas les mises en forme)
Sub testQuery()
fich$ = "D:ExempleTris.xls"
Feuille$ = "Feuil1"
QueryWorksheet fich, Feuille
End Sub
Public Sub QueryWorksheet(NomFichier$, Feuille$)
'Rob Bovey, mpep
'nécessite une référence à la librairie
'Microsoft ActiveX Data Object 2.x Library
Dim rsData As ADODB.Recordset
Dim szConnect As String
Dim szSQL As String
' La requête est basée sur le nom de la feuille. Ce nom
' doit se terminer par un $ et doit être entouré de crochets droits.
szSQL = "SELECT * FROM [" & Feuille & "$];"
Set rsData = New ADODB.Recordset
rsData.Open szSQL, szConnect, adOpenForwardOnly, _
adLockReadOnly, adCmdText
''' Vérifie qu'on a bien reçu des données
If Not rsData.EOF Then
Feuil1.Range("A1").CopyFromRecordset rsData
Else
MsgBox "Aucun enregistrement renvoyé.", vbCritical
End If
''' On nettoie pour finir...
rsData.Close
Set rsData = Nothing
End Sub
'==========================
'solution 2 (liaison)
'récupération de données dans un classeur fermé
'(méthode "classique" par établissement d'une liaison temporaire)
'(c'est aussi la technique habituellement conseillée pour essayer
'de récupérer des données d'un classeur endommagé)
Sub test()
GetValuesFromAClosedWorkbook "D:", "TestADO.xls", "Feuil1", "A1:H25"
End Sub
Sub GetValuesFromAClosedWorkbook(fPath As String, _
fName As String, sName, cellRange As String)
'Ron De Bruin, mpep
'le paramètre 'cellRange' doit désigner
'*une* plage de cellules *contigües*
With ActiveSheet.Range(cellRange)
.Formula = "='" & fPath & "[" & fName & "]" _
& sName & "'!" & cellRange
.Value = .Value
End With
End Sub
Frédéric Sigonneau
--
Amicalement
Jean-François Aubert
{Vaudois de la Côte Lémanique}
"France" <ftraverso@fram.fr> a écrit dans le message de
news:078001c34aad$c30afa20$a601280a@phx.gbl...
Bonjour,
Lorsque j'essaie d'ouvrir un de mes fichiers Excell , un
message d'erruer apparaît :
"Impossible de lire le fichier "
Lorsque je change l'extension en .txt par exemple, les
informations apparaissent (inutilisables bien évidemment).
J'ai essayé d'enregistrer le fichier sour un autre nom,
sur disquette ... mais rien n'y fait.
Savez-vous si je peux récupérer les données saisies dans
ce fichier ou si elles sont définitivement perdues ?
tiré de http://www.excelabo.net/xl/plantages.htm#recupdonnées
Récupération de données dans un classeur endommagé Je ne parviens plus à ouvrir mon classeur excel. Il contient des données précieuses. Comment les récupérer ? Une solution avec ADO pour récupérer les données d'une feuille entière (code Rob Bovey, mpep). Si ça ne fonctionne pas, une solution plus "classique" par établissement d'une liaison avec les cellules dont on veut récupérer les valeurs (Ron de bruin, mpep). Dans les deux cas, les données peuvent être récupérées dans un classeur fermé (erreur avec ADO si le classeur est ouvert). Le code doit être copié dans un module standard.
solution 1 (ADO) 'importer le contenu d'une feuille de calcul d'un classeur fermé '(seules les données sont importées, pas les mises en forme)
Sub testQuery() fich$ = "D:ExempleTris.xls" Feuille$ = "Feuil1" QueryWorksheet fich, Feuille End Sub
Public Sub QueryWorksheet(NomFichier$, Feuille$) 'Rob Bovey, mpep 'nécessite une référence à la librairie 'Microsoft ActiveX Data Object 2.x Library Dim rsData As ADODB.Recordset Dim szConnect As String Dim szSQL As String
' La requête est basée sur le nom de la feuille. Ce nom ' doit se terminer par un $ et doit être entouré de crochets droits. szSQL = "SELECT * FROM [" & Feuille & "$];"
Set rsData = New ADODB.Recordset rsData.Open szSQL, szConnect, adOpenForwardOnly, _ adLockReadOnly, adCmdText
''' Vérifie qu'on a bien reçu des données If Not rsData.EOF Then Feuil1.Range("A1").CopyFromRecordset rsData Else MsgBox "Aucun enregistrement renvoyé.", vbCritical End If
''' On nettoie pour finir... rsData.Close Set rsData = Nothing
End Sub '========================== 'solution 2 (liaison) 'récupération de données dans un classeur fermé '(méthode "classique" par établissement d'une liaison temporaire) '(c'est aussi la technique habituellement conseillée pour essayer 'de récupérer des données d'un classeur endommagé)
Sub test() GetValuesFromAClosedWorkbook "D:", "TestADO.xls", "Feuil1", "A1:H25" End Sub
Sub GetValuesFromAClosedWorkbook(fPath As String, _ fName As String, sName, cellRange As String) 'Ron De Bruin, mpep 'le paramètre 'cellRange' doit désigner '*une* plage de cellules *contigües* With ActiveSheet.Range(cellRange) .Formula = "='" & fPath & "[" & fName & "]" _ & sName & "'!" & cellRange .Value = .Value End With End Sub
Frédéric Sigonneau
-- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}
"France" a écrit dans le message de news:078001c34aad$c30afa20$ Bonjour,
Lorsque j'essaie d'ouvrir un de mes fichiers Excell , un message d'erruer apparaît :
"Impossible de lire le fichier "
Lorsque je change l'extension en .txt par exemple, les informations apparaissent (inutilisables bien évidemment). J'ai essayé d'enregistrer le fichier sour un autre nom, sur disquette ... mais rien n'y fait.
Savez-vous si je peux récupérer les données saisies dans ce fichier ou si elles sont définitivement perdues ?