|
Publicité | ||||||||||||||||||||||
|
|
#1 (permalink) |
|
Membre du Club
![]() Date d'inscription: septembre 2009
Localisation: France
Messages: 102
|
Bonjours ,
lorsque je lance cette fonction mon application freeze ( ne répond plus ) je suis obliger de fermer par la suite :/ Voici le code : Code :
Sub sauver_facture() Dim Nom_save As String '--Variables de recherche ------------------------------------------------------ Dim objRange As Range, PlageRed As Range, objCell As Range, PlageResult As Range Dim RechVirtuel As Range Dim nbFeuille As Integer Nom_save = FormSave.NomFichier.Value Cells.Select Selection.Copy Workbooks.Add Cells.Select Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=False Selection.PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone, SkipBlanks:=False, Transpose:=False Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, SkipBlanks:=False, Transpose:=False 'réduction de la plage For Each objRange In ActiveWorkbook.Worksheets(1).Columns If IsNull(objRange.Interior.ColorIndex) Then If PlageRed Is Nothing Then Set PlageRed = objRange Else Set PlageRed = Application.Union(objRange, PlageRed) End If End If Next 'travail en ligne For Each objRange In ActiveWorkbook.Worksheets(1).Rows If IsNull(objRange.Interior.ColorIndex) Then For Each objCell In objRange.Cells If objCell.Interior.ColorIndex = 15 Then '--Traitement a l'interieur de cette boucle----------------------- objCell.Value = "" With objCell.Interior .Pattern = xlNone .TintAndShade = 0 .PatternTintAndShade = 0 End With objCell.Offset(0, 1).Value = "" '--Fin Traitement------------------------------------------------- End If Next End If Next MsgBox "Hey" 'travail en ligne For Each objRange In ActiveWorkbook.Worksheets(1).Rows If IsNull(objRange.Interior.ColorIndex) Then For Each objCell In objRange.Cells If objCell.Interior.Color = RGB(255, 0, 0) Then '--Traitement a l'interieur de cette boucle----------------------- objCell.Value = "" With objCell.Interior .Pattern = xlNone .TintAndShade = 0 .PatternTintAndShade = 0 End With objCell.Offset(0, 1).Value = "" '--Fin Traitement------------------------------------------------- End If Next End If Next ActiveWorkbook.SaveAs Filename:=Repertoire_save & "\" & Nom_save & ".xls", FileFormat _ :=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _ False, CreateBackup:=False End Sub si je remplace ActiveWorkBook par ThisWordBook ( c'est a dire si je travaille la ou est la macro ) la sa fonctionne mais si je travail sur le nouveau classeur sa freeze :s. Merci, ( ActiveWorkBook ) |
|
|
|
|
|
#2 (permalink) | |
![]() Nom : Didier GONARD
Date d'inscription: février 2008
Localisation: Nantes
Messages: 544
|
Bonjour,
Ne serait-il pas plus simple et moins lourd d'exporter ta feuille ( ou de sauvegarder sous un nouveau nom en ayant effacé les non-voulues) et de détruire le code genre : Citation:
codialement, Didier
__________________
Didier Gonard - Tutoriel : Comprendre et gérer les dates sous Excel et en VBA N'oubliez pas de mettre : ..quand c'est le cas !
|
|
|
|
|
|
#3 (permalink) |
|
Membre du Club
![]() Date d'inscription: septembre 2009
Localisation: France
Messages: 102
|
Merci de votre réponse mais le but est d'enlever la macro mais aussi et surtout de traiter le WorkBook génère et non pas toucher au ThisWorkBook
Comment corriger ce probleme de freeze ? Merci encore |
|
|
|
|
|
![]() |
||
[XL-2007] Freeze lors de cette fonction
|
||
| Outils de la discussion | |
|
|