Bonjour,
j'aurais besoin de votre aide pour mettre en oeuvre ma boucle For each next dans ma macro pour comparer la valeur d'une cellule par rapport aux valeurs de cellules dans une plage déterminée.
merci pour votre aide
Sub decaler()
'désactivé les alertes
Application.DisplayAlerts = False
'forcer le calcul
Application.Volatile
'mise a jour de l'écran
Application.ScreenUpdating = False
'variable objet
Dim Wsk_Trame As Worksheet
Dim Plage, celle As Range
Dim Var1 As Range
'instancier l'objet ici c'est la feuille1
Set Wsk_Trame = Worksheets("TRAME")
With Wsk_Trame
Set Plage = .Range("AO48:BI48") 'plage de travail sur la feuil1
Var1 = Range("AN35") ' variable a comparer dans la plage de travail
For Each celle In Plage 'boucle For
'''vérifier si n° de semaine existe dans le tableau de graph
If celle.Value = Var1 Then Exit For
MsgBox Var1 & " " & "existe dans le tableau pour le graph"
Next celle
Set Plage = Nothing
Exit Sub
.Range("BJ48").Select 'cellule active du tableau
'reporter les valeurs pour la réalisation du dernier graph
.Range("BJ48").Value = .Range("AN35").Value
.Range("BJ49").Value = .Range("AR39").Value
.Range("BJ50").Value = .Range("AR40").Value
.Range("BJ51").Value = .Range("AR41").Value
.Range("BJ52").Value = .Range("AR42").Value
'Supprimer les valeurs de la première colonne du tableau
.Range("AO48").ClearContents
.Range("AO49").ClearContents
.Range("AO50").ClearContents
.Range("AO51").ClearContents
.Range("AO52").ClearContents
'Macro permettrant de décaler les valeurs
.Range("AP48:BJ52").Select
Selection.Copy
.Range("AO48").Select
ActiveSheet.PasteSpecial Format:=3, Link:=1, DisplayAsIcon:=False, _
IconFileName:=False
.Range("BJ48:BJ52").Select
Selection.ClearContents
.Range("AN35").Select
End With
Set Wsk_Trame = Nothing
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Cordialement
Adjovi
j'aurais besoin de votre aide pour mettre en oeuvre ma boucle For each next dans ma macro pour comparer la valeur d'une cellule par rapport aux valeurs de cellules dans une plage déterminée.
merci pour votre aide
Sub decaler()
'désactivé les alertes
Application.DisplayAlerts = False
'forcer le calcul
Application.Volatile
'mise a jour de l'écran
Application.ScreenUpdating = False
'variable objet
Dim Wsk_Trame As Worksheet
Dim Plage, celle As Range
Dim Var1 As Range
'instancier l'objet ici c'est la feuille1
Set Wsk_Trame = Worksheets("TRAME")
With Wsk_Trame
Set Plage = .Range("AO48:BI48") 'plage de travail sur la feuil1
Var1 = Range("AN35") ' variable a comparer dans la plage de travail
For Each celle In Plage 'boucle For
'''vérifier si n° de semaine existe dans le tableau de graph
If celle.Value = Var1 Then Exit For
MsgBox Var1 & " " & "existe dans le tableau pour le graph"
Next celle
Set Plage = Nothing
Exit Sub
.Range("BJ48").Select 'cellule active du tableau
'reporter les valeurs pour la réalisation du dernier graph
.Range("BJ48").Value = .Range("AN35").Value
.Range("BJ49").Value = .Range("AR39").Value
.Range("BJ50").Value = .Range("AR40").Value
.Range("BJ51").Value = .Range("AR41").Value
.Range("BJ52").Value = .Range("AR42").Value
'Supprimer les valeurs de la première colonne du tableau
.Range("AO48").ClearContents
.Range("AO49").ClearContents
.Range("AO50").ClearContents
.Range("AO51").ClearContents
.Range("AO52").ClearContents
'Macro permettrant de décaler les valeurs
.Range("AP48:BJ52").Select
Selection.Copy
.Range("AO48").Select
ActiveSheet.PasteSpecial Format:=3, Link:=1, DisplayAsIcon:=False, _
IconFileName:=False
.Range("BJ48:BJ52").Select
Selection.ClearContents
.Range("AN35").Select
End With
Set Wsk_Trame = Nothing
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Cordialement
Adjovi