• Initiateur de la discussion Initiateur de la discussion calou68
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

calou68

Guest
Bonjour,
J'essaye d'insérer une boucle "if" dans ma macro pour sortir de celle-ci si la case A2 est vide dans le fichier "export SGE.xls", sinon elle continue la suite de la macro (ligne 5). Je n'ai pas trouvé de solution dans le forum. Merci pour votre aide 🙂
voir ci dessous. ( ligne 3 et 4)


Windows("sge.xls").Activate
Windows("export SGE.xls").Activate

If Range("A2").Value = "<>" Then Exit Sub
Else

Rows("2:300").Select
Range("N2").Activate
Selection.ClearContents
Range("N2").Select
Windows("export SGE.xls").Activate
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
 
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
 
Re : boucle vba IF

merci PIERROT,

Désolez mais je sui un peu largé, voici la partie de la macro concernée:
Si dans la case "A2" de la feuille "export SGE.xls", la cellule est vide, je veux fermer "Extraction Export SGE " (après le texte en rouge) et si la cellule est non vide, continuer le déroulement de la macro..... (après le texte en rouge)
merci pour votre aide

' 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 SubRows("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
 
Re : boucle vba IF

Re,

utilise peut être un GoTo alors, mais vois pas trop où tu veux en venir.... un code, jeté en l'état dans un post, décoléré des données ne veut pas dire grand chose.... Dans un premier temps, utiliser les balises code, le dièse lorsque tu crées le message (#), ou mieux un tout petit fichier joint avec le code.....
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
823
Retour