Fichier : Lecture seule
- Messages
- 9'245
- Excel
- Vista Office 2007FR
- Inscrit
- 08/12/2007
- Emploi
- retraité Sce.Méthodes
Bonjour à tous,
Par moment, à l'ouverture d'un fichier en cours de programmation, il arrive qu'il ne s'ouvre qu'en "lecture seule",
- Je fais donc un enregistrer-sous (autre indice) pour pouvoir travailler.
mais je ne peux pas supprimer la version précédente, sans avoir redémarrer l'ordi.(même en fermant Excel)
Avez-vous une idée de ce qui provoque cela ?
Je pense à des variables qui resteraient en mémoire ou autre ?
Sans doute un manque dans mes macros ! , comment y remédier ?
Bonne journée
Amicalement
Claude.
- Messages
- 9'245
- Excel
- Vista Office 2007FR
- Inscrit
- 08/12/2007
- Emploi
- retraité Sce.Méthodes
Salut le forum
Claude, tu n'as pas un message du style
Le programme va être fermé car il a effectué une opération non conformeensuite à l'ouverture il est en lecture seule.
Si oui, le redémarrage de l'ordinateur est souvent obligatoire.
Mytå
- Messages
- 9'245
- Excel
- Vista Office 2007FR
- Inscrit
- 08/12/2007
- Emploi
- retraité Sce.Méthodes
Bonjour à tous,
Mytå, non je n'ai pas ce type de message,
Par contre, après avoir fait un enregistrer-sous (nouvel indice), et que je veux supprimer
le fichier précédent, j'ai un message qui me dit que des ressources sont en cours
d'utilisation. et même si je ferme tout Excel compris.
seul recours : rebouter.
Il faut dire que c'est un fichier en cours et qu'il n'est pas encore bien stabilisé, il m'arrive
de faire du pas-à-pas et ne pas terminer la macro, (des Set qui ne sont pas déclarés = Nothing ??), peut-être ?
Amicalement
Claude.
Claude,
Juste une idée. Vérifie que dans tes codes tu ne tentes pas d'ouvrir ton fichier une deuxième fois.
A te relire
Dan
- Messages
- 9'245
- Excel
- Vista Office 2007FR
- Inscrit
- 08/12/2007
- Emploi
- retraité Sce.Méthodes
re Dan,
J'ai juste une macro :
Sub Transfert_dans_Archives()
Dim Wbk As String, Wbk2 As String
Dim Lg
Dim EnTete, Cellule
Wbk = ActiveWorkbook.Name
..........et + loin Workbooks(Wbk).Activate
mais cette partie du programme est réglée et je ne l'utilise plus (pour le moment)
NOTA: c'est le même fichier que pour les protections.
Bonne journée
Claude.
Re,
Claude, je peux voir la macro entière ?
A te relire
Dan
- Messages
- 9'245
- Excel
- Vista Office 2007FR
- Inscrit
- 08/12/2007
- Emploi
- retraité Sce.Méthodes
re,
Dan; te moque pas j'ai fais comme j'ai pu !
Sub Transfert_dans_Archives()
Dim Wbk As String, Wbk2 As String
Dim Lg
Dim EnTete, Cellule
Wbk = ActiveWorkbook.Name
Wbk2 = "Visserie_Archives_enCours.xls"
Application.ScreenUpdating = False
On Error GoTo ouvre
Workbooks(Wbk2).Activate
Sheets("Archives").Activate
Application.EnableEvents = False
Workbooks(Wbk).Activate
Application.EnableEvents = False
'********** Contrôle en-tête saisie **************
For Each Cellule In Array("d12", "d13", "d14", "d15", "i12", "i14")
If IsEmpty(Range(Cellule).Value) Then
Range(Cellule).Activate
MsgBox ("Champ " & ActiveCell.Offset(0, -1) & " Obligatoire")
Exit Sub 'Exit For
End If
Range("d13") = UCase([d13]) 'majuscule 'client
Range("i14") = UCase([i14]) 'majuscule 'technicien
Range("d14") = Application.Proper([d14])
Range("d15") = Application.Proper([d15])
Next Cellule
Range("i13").Formula = "=TODAY()"
'************* Contrôle N° de Réf (si existant)***********************
Range("K3").Formula = "=MATCH(d12,[Visserie_Archives_enCours.xls]Archives!b:b,0)" '************
If IsError(Range("k3")) = False Then
MsgBox ("Ce N° de Référence existe déjà !" & Chr(10) & "Archivage annulé")
Range("K3").ClearContents 'efface formule avec liaison
Range("d12").Activate
Exit Sub
End If
Range("K3").ClearContents 'efface formule avec liaison
Range("b18").Select
Do While ActiveCell <> ""
'****** en-tête ********
Range("c2") = Range("d12") 'N° Réf
Range("d2") = Range("i12") 'N° dossier
Range("e2") = Range("i13") 'date
Range("f2") = Range("i14") 'Techn
Range("g2") = Range("d13") 'client
Range("h2") = Range("d14") 'chantier
Range("i2") = Range("d15") 'descr
'*************************
Set EnTete = Range("[Visserie_Archives_enCours.xls]Archives!b65536").End(xlUp)(2) '***********
Set Lg = Range(ActiveCell, ActiveCell.Offset(0, 8))
Range("c2:i2").Copy Destination:=EnTete
Lg.Copy Destination:=EnTete.Offset(0, 7)
ActiveCell.Offset(1, 0).Select
Loop
'************* initialise_Archive ***********************
Workbooks(Wbk2).Activate
Application.EnableEvents = False
Application.ScreenUpdating = False
On Error Resume Next
ActiveSheet.ShowAllData 'affiche tout (filtre)
On Error GoTo 0
Dim Titre
Dim DerLig As Long
DerLig = Cells.Find("*", , , , xlByRows, xlPrevious).Row + 1
Range("b10:q" & DerLig).Name = "base"
Range("b11:b" & DerLig).Name = "Numéro"
Range("c11:c" & DerLig).Name = "Dossier"
Range("d11:d" & DerLig).Name = "Date"
Range("e11:n" & DerLig).Name = "Targ"
'************* tri ****************
Application.Goto Reference:="base"
Selection.Sort Key1:=Range("b10"), Order1:=xlAscending, Key2:=Range("d10") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom
Range("k4") = "N°Réf."
Titre = Format(Application.WorksheetFunction.Min(Range("date")), "mmm yy") & _
Chr(10) & "à " & Format(Application.WorksheetFunction.Max(Range("date")), "mmm yy")
ActiveSheet.Shapes("WordArt 14").TextEffect.Text = Titre
Application.Goto [a9], Scroll:=True
Range("a10").RowHeight = 0
Application.EnableEvents = True
'******************************
ActiveWorkbook.Save 'enregistre Archives
MsgBox ("La liste est enregistrée" & Chr(10) & "et le fichier Archives est enregistré")
Workbooks(Wbk).Activate
Call PurgeCommande
Application.EnableEvents = True
Exit Sub
ouvre: 'Workbooks.Open Filename:="C:\Excel2008\Visserie_Archives_enCours.xls" 'chemin à adapter
Application.Dialogs(xlDialogOpen).Show 'fenêtre fichier ouvrir
Workbooks(Wbk).Activate
MsgBox ("Le fichier Archive est maintenant ouvert" & Chr(10) & "Recommencez l'archivage")
End SubClaude.
- Messages
- 9'245
- Excel
- Vista Office 2007FR
- Inscrit
- 08/12/2007
- Emploi
- retraité Sce.Méthodes
Bonjour à tous,
Apparemment le problème est réglé,
- Je pense que cela venait des protections feuilles, qui provoquait des bugs et empêchait
les macros d'aller à terme et de remettre à zéro les variables ?
Je mets le fil en résolu, quitte à revenir si problème.
Merci à tous
amicalement
Claude.