Re : boucle vba IF
Bonjour, merci pour cette réponse qui fonctionne bien mais j'ai oublié de mentionner que j'ai une compilation de macro et j'aimerais que fermer une partie de la macro globale....
Dans la partie " ' Extraction Export SGE" (ligne66), je voudrais que cette partie se ferme si dans "A2" de la feuille "export SGE.xls" = 0 ou rien. Quand je mets "If Range("A2").Value = "" Then Exit Sub", il me ferme toute ma macro...
j'espère que j'ai réussi à bien vous expliquer mon petit soucis.....
Sub MACROGLOBALE()
'
' MACROGLOBALE Macro
' page vierge Hypervision
Windows("Suivi hypervision-2.xls").Activate
Sheets("Exports").Select
Rows("2:900").Select
Selection.ClearContents
'effacement priorité
Sheets("priorité").Select
ActiveWindow.SmallScroll Down:=-12
Range("I3:J991").Select
Selection.ClearContents
' Extraction ExportING
'Windows("STOCK ING-D1.xls").Activate
Workbooks.Open "C:\Users\KFC129\Documents\PROG\Hypervision-2-4\STOCK ING-D1.xls"
Sheets("Export ING").Select
Rows("2:892").Select
ActiveSheet.Unprotect
Selection.ClearContents
Cells.Select
Selection.ClearContents
'Windows("Export IEP.xls").Activate
Workbooks.Open "C:\Users\KFC129\Documents\PROG\Hypervision-2-4\Export IEP.xls"
Cells.Select
Selection.Copy
Windows("STOCK ING-D1.xls").Activate
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False, AllowSorting:=True, AllowFiltering:=True, AllowUsingPivotTables:= _
True
Windows("Export IEP.xls").Activate
ActiveWorkbook.Save
ActiveWindow.Close
' copie ING vers Hypervison
Windows("STOCK ING-D1.xls").Activate
Sheets("base").Select
Dim DerLigne As Integer, MaSélection As Range, I As Integer
With Sheets("base")
DerLigne = .Range("A65535").End(xlUp).Row
For I = 1 To DerLigne
If .Cells(I, 1) <> "" Then
If MaSélection Is Nothing Then
Set MaSélection = .Range("A" & I & ":L" & I)
Else
Set MaSélection = Union(MaSélection, .Range("A" & I & ":L" & I))
End If
End If
Next I
MaSélection.Copy
End With
Windows("Suivi hypervision-2.xls").Activate
Sheets("exports").Range("A" & Sheets("exports").Range("A65535").End(xlUp).Row + 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Windows("STOCK ING-D1.xls").Activate
ActiveWorkbook.Save
ActiveWindow.Close
' Extraction Export SGE 😀
'Windows("sge.xls").Activate
Workbooks.Open "C:\Users\KFC129\Documents\PROG\Hypervision-2-4\sge.xls"
Sheets("Export SGE").Select
Rows("2:300").Select
Range("N2").Activate
Selection.ClearContents
Range("N2").Select
'Windows("export SGE.xls").Activate
Workbooks.Open "C:\Users\KFC129\Documents\PROG\Hypervision-2-4\export SGE.xls"
If Range("A2").Value = "" Then Exit Sub
Rows("1:1").Select
Range("N1").Activate
Selection.AutoFilter
ActiveSheet.Range("$A$1:$BB$64").AutoFilter Field:=17, Criteria1:= _
"Etudier l'impact sur le raccordement BT"
Rows("2:265").Select
Range("N2").Activate
Selection.Copy
Windows("sge.XLS").Activate
Rows("2:2").Select
Range("N2").Activate
ActiveSheet.Paste
Windows("export SGE.xls").Activate
ActiveWorkbook.Save
ActiveWindow.Close
' Copie SGE vers Hypervision
Windows("sge.XLS").Activate
Sheets("base").Select
Dim DerLigne2 As Integer, MaSélection2 As Range, P As Integer
With Sheets("base")
DerLigne2 = .Range("A65535").End(xlUp).Row
For P = 1 To DerLigne2
If .Cells(P, 1) <> "" Then
If MaSélection2 Is Nothing Then
Set MaSélection2 = .Range("A" & P & ":L" & P)
Else
Set MaSélection2 = Union(MaSélection2, .Range("A" & P & ":L" & P))
End If
End If
Next P
MaSélection2.Copy
End With
Windows("Suivi hypervision-2.xls").Activate
Sheets("exports").Range("A" & Sheets("exports").Range("A65535").End(xlUp).Row + 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Windows("sge.xls").Activate
ActiveWorkbook.Save
ActiveWindow.Close
' Copie "Devis à refaire" vers Hypervision
'Windows("devis à refaire.xls").Activate
Workbooks.Open "C:\Users\KFC129\Documents\PROG\Hypervision-2-4\devis à refaire.xls"
Sheets("base").Select
Columns("A:N").Select
ActiveSheet.Unprotect
Selection.AutoFilter
Selection.AutoFilter
ActiveWindow.LargeScroll ToRight:=1
ActiveSheet.Range("$A$1:$L$94").AutoFilter Field:=12, Criteria1:="="
Dim DerLigne3 As Integer, MaSélection3 As Range, Z As Integer
With Sheets("base")
DerLigne3 = .Range("A65535").End(xlUp).Row
For Z = 1 To DerLigne3
If .Cells(Z, 1) <> "" Then
If MaSélection3 Is Nothing Then
Set MaSélection3 = .Range("A" & Z & ":L" & Z)
Else
Set MaSélection3 = Union(MaSélection3, .Range("A" & Z & ":L" & Z))
End If
End If
Next Z
MaSélection3.Copy
End With
Windows("Suivi hypervision-2.xls").Activate
Sheets("exports").Range("A" & Sheets("exports").Range("A65535").End(xlUp).Row + 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Windows("devis à refaire.xls").Activate
Range("E14").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False, AllowSorting:=True, AllowFiltering:=True, AllowUsingPivotTables:= _
True
Windows("devis à refaire.xls").Activate
ActiveWorkbook.Save
ActiveWindow.Close
' Extraction Export CUAU
'Windows("AU-MOAP-D1.xls").Activate
Workbooks.Open "C:\Users\KFC129\Documents\PROG\Hypervision-2-4\AU-MOAP-D1.xls"
Sheets("Export CUAU").Select
Rows("2:2000").Select
ActiveSheet.Unprotect
Selection.ClearContents
'Windows("export CU AU.xls").Activate
Workbooks.Open "C:\Users\KFC129\Documents\PROG\Hypervision-2-4\export CU AU.xls"
Rows("1:1").Select
Selection.AutoFilter
ActiveSheet.Range("$A$1:$G$434").AutoFilter Field:=5, Criteria1:= _
"=En attente retour étude technique MOAP", Operator:=xlOr, Criteria2:= _
"=Etude technique MOAP réalisée"
Rows("2:2000").Select
Selection.Copy
Windows("AU-MOAP-D1.xls").Activate
Sheets("Export CUAU").Select
Range("A2").Select
ActiveSheet.Paste
'essai
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False, AllowSorting:=True, AllowFiltering:=True, AllowUsingPivotTables:= _
True
Windows("export CU AU.xls").Activate
ActiveWorkbook.Save
ActiveWindow.Close
' Extraction Export MOA-PILOT
Sheets("MOAP").Select
Rows("2:357").Select
ActiveSheet.Unprotect
Selection.ClearContents
'Windows("export MOAP.xls").Activate
Workbooks.Open "C:\Users\KFC129\Documents\PROG\Hypervision-2-4\export MOAP.xls"
Rows("2:302").Select
Selection.Copy
Windows("AU-MOAP-D1.xls").Activate
Sheets("MOAP").Range("A" & Sheets("MOAP").Range("A65535").End(xlUp).Row + 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Workbooks.Open "C:\Users\KFC129\Documents\PROG\Hypervision-2-4\export MOAP-2.xls"
Rows("5:50").Select
Selection.Copy
Windows("AU-MOAP-D1.xls").Activate
Sheets("MOAP").Range("A" & Sheets("MOAP").Range("A65535").End(xlUp).Row + 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
'essai
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False, AllowSorting:=True, AllowFiltering:=True, AllowUsingPivotTables:= _
True
Windows("export MOAP.xls").Activate
ActiveWorkbook.Save
ActiveWindow.Close
Windows("export MOAP-2.xls").Activate
ActiveWorkbook.Save
ActiveWindow.Close
' Copie AU vers Hypervision
Windows("AU-MOAP-D1.xls").Activate
Sheets("base").Select
Dim DerLigne4 As Integer, MaSélection4 As Range, F As Integer
With Sheets("base")
DerLigne4 = .Range("A65535").End(xlUp).Row
For F = 1 To DerLigne4
If .Cells(F, 1) <> "" Then
If MaSélection4 Is Nothing Then
Set MaSélection4 = .Range("A" & F & ":L" & F)
Else
Set MaSélection4 = Union(MaSélection4, .Range("A" & F & ":L" & F))
End If
End If
Next F
MaSélection4.Copy
End With
Windows("Suivi hypervision-2.xls").Activate
Sheets("exports").Range("A" & Sheets("exports").Range("A65535").End(xlUp).Row + 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Windows("AU-MOAP-D1.xls").Activate
ActiveWorkbook.Save
ActiveWindow.Close
' Dévérouillage feuille "priorité"
Windows("Suivi hypervision-2.xls").Activate
Sheets("priorité").Select
ActiveSheet.Unprotect
' Classement des affaires du + vieux au + récent
Windows("Suivi hypervision-2.xls").Activate
Sheets("priorité").Select
Rows("2:2").Select
Selection.AutoFilter
Selection.AutoFilter
ActiveWindow.LargeScroll ToRight:=-1
ActiveWorkbook.Worksheets("Priorité").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Priorité").AutoFilter.Sort.SortFields.Add Key:= _
Range("N2"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Priorité").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("I4").Select
' Vérouillage feuille "priorité"
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False, AllowSorting:=True, AllowFiltering:=True, AllowUsingPivotTables:= _
True
End Sub
merci
calou