br44
XLDnaute Impliqué
Bonsoir le forum ,
je voudrais pouvoir inserer une condition dans une boucle existante.J'ai une option qui doit se faire que si la rèfèrence est sèlectionner .
je met à la suite la boucle consernèe puis la partie à inserer .
Boucle existante :
'Déclare le Chemin2 vers "SC.xls"
Dim Chemin2 As String
'Dèclare la variable Wb4
Dim Wb4 As Workbook
'Declare la Variable C
Dim C As String
'Declare la Variable MPl
Dim MP As Range
'Declare la Variable R
Dim R As Range
'Dèfinit la varible Client
C = Workbooks("F.Xls").Sheets("Détail").Range("G3").Value
'Dèfinit la varible Chemin2
Chemin2 = "C:\RAPID\GESTION\Sc.XLS"
'Dèfinit la varaible Wb4
Set Wb4 = Workbooks.Open(Chemin2)
'Dèfinit la variable MaPlage
Set MP = Workbooks("SC.xls").Sheets(Mois).Range("A4:A" & Range("A65536").End(xlUp).Row)
'Boucle sur la plage R et MP
For Each R In MP
'Défintit la condition de la plage p
If R.Value = C Then
'Définit et envoie les valeures vers le classeur "SC.XLS"
With Wb2.Sheets("Facture")
.Range("C16").Copy
End With
R.Offset(0, 3).PasteSpecial xlPasteValues
With Wb2.Sheets("Facture")
.Range("F12").Copy
End With
R.Offset(0, 4).PasteSpecial xlPasteValues
'Sort de la boucle
Exit For
'Fin de Condition
End If
'Sort de la plage p
Next R
Application.CutCopyMode = False
'Enregistre les données du classeur "SC.XLS"
Wb4.Save
'Ferme le Classeur "SC.XLS"
Wb4.Close
'J'èfface la plage "B5:G27"
Partie à Inserer avec la condition pour la ref "C16"
With Wb2.Sheets("Annexfacture1")
.Range("C16").Copy
End With
R.Offset(1, 3).PasteSpecial xlPasteValues
With Wb2.Sheets("Annexfacture1")
.Range("F12").Copy
End With
R.Offset(1, 4).PasteSpecial xlPasteValues
With Wb2.Sheets("Annexfacture1")
.Range("G38").Copy
End With
R.Offset(1, 5).PasteSpecial xlPasteValues
With Wb2.Sheets("Annexfacture2")
.Range("C16").Copy
End With
R.Offset(2, 3).PasteSpecial xlPasteValues
With Wb2.Sheets("Annexfacture2")
.Range("F12").Copy
End With
R.Offset(2, 4).PasteSpecial xlPasteValues
With Wb2.Sheets("Annexfacture2")
.Range("G38").Copy
End With
R.Offset(2, 5).PasteSpecial xlPasteValues
Range("A16:A18,B16:B18,C16:C18").MergeCells = False
Range("A16:A18,B16:B18,C16:C18").MergeCells = True
Rows("16:18").RowHeight = 14.25
En espèrant avoir ètè claire dans ma demande et vous remerciant pour les rèponses à suivre je vous dit donc à bientôt sur ce fil
BR44
je voudrais pouvoir inserer une condition dans une boucle existante.J'ai une option qui doit se faire que si la rèfèrence est sèlectionner .
je met à la suite la boucle consernèe puis la partie à inserer .
Boucle existante :
'Déclare le Chemin2 vers "SC.xls"
Dim Chemin2 As String
'Dèclare la variable Wb4
Dim Wb4 As Workbook
'Declare la Variable C
Dim C As String
'Declare la Variable MPl
Dim MP As Range
'Declare la Variable R
Dim R As Range
'Dèfinit la varible Client
C = Workbooks("F.Xls").Sheets("Détail").Range("G3").Value
'Dèfinit la varible Chemin2
Chemin2 = "C:\RAPID\GESTION\Sc.XLS"
'Dèfinit la varaible Wb4
Set Wb4 = Workbooks.Open(Chemin2)
'Dèfinit la variable MaPlage
Set MP = Workbooks("SC.xls").Sheets(Mois).Range("A4:A" & Range("A65536").End(xlUp).Row)
'Boucle sur la plage R et MP
For Each R In MP
'Défintit la condition de la plage p
If R.Value = C Then
'Définit et envoie les valeures vers le classeur "SC.XLS"
With Wb2.Sheets("Facture")
.Range("C16").Copy
End With
R.Offset(0, 3).PasteSpecial xlPasteValues
With Wb2.Sheets("Facture")
.Range("F12").Copy
End With
R.Offset(0, 4).PasteSpecial xlPasteValues
'Sort de la boucle
Exit For
'Fin de Condition
End If
'Sort de la plage p
Next R
Application.CutCopyMode = False
'Enregistre les données du classeur "SC.XLS"
Wb4.Save
'Ferme le Classeur "SC.XLS"
Wb4.Close
'J'èfface la plage "B5:G27"
Partie à Inserer avec la condition pour la ref "C16"
With Wb2.Sheets("Annexfacture1")
.Range("C16").Copy
End With
R.Offset(1, 3).PasteSpecial xlPasteValues
With Wb2.Sheets("Annexfacture1")
.Range("F12").Copy
End With
R.Offset(1, 4).PasteSpecial xlPasteValues
With Wb2.Sheets("Annexfacture1")
.Range("G38").Copy
End With
R.Offset(1, 5).PasteSpecial xlPasteValues
With Wb2.Sheets("Annexfacture2")
.Range("C16").Copy
End With
R.Offset(2, 3).PasteSpecial xlPasteValues
With Wb2.Sheets("Annexfacture2")
.Range("F12").Copy
End With
R.Offset(2, 4).PasteSpecial xlPasteValues
With Wb2.Sheets("Annexfacture2")
.Range("G38").Copy
End With
R.Offset(2, 5).PasteSpecial xlPasteValues
Range("A16:A18,B16:B18,C16:C18").MergeCells = False
Range("A16:A18,B16:B18,C16:C18").MergeCells = True
Rows("16:18").RowHeight = 14.25
En espèrant avoir ètè claire dans ma demande et vous remerciant pour les rèponses à suivre je vous dit donc à bientôt sur ce fil
BR44