Bonjour,
puis-je faire une macro, sur une feuille "10", qui me dise :
si en feuille "GA11" ou "GA12" ou GA13", j'ai les cellules C6 ou D6 qui sont
modifiées,alors j'excute la procédure, sinon, rien.
je précise, mes cellules C6 et D6 sont des sommes.
Donc je voudrais executer une procedure sur "10", seulement si une de mes
sommes dans 1 de mes onglets "GA11" ou "GA12" ou GA13" est modifiée. est-ce
possible ???
Merci.
YANN
PS voici ce que je veux executer uniquement si mes somms changent :
----
Sub Import10()
'supprimer les anciennes lignes
Application.ScreenUpdating = False
Sheets("10").Activate
For I = Cells(Rows.Count, "a").End(1).Row To 2 Step -1
If Cells(I, 1) > 100000 And Cells(I, 1) < 99999999 Then Rows(I).Delete
Next
'ajoute les lignes
Sheets("10").Select
Range("DETAIL10").Select
For Each C In Worksheets("GA14").Range("A2:A1000")
n1 = Mid(C, 1, 1)
n2 = Mid(C, 1, 4)
n4 = Mid(C, 1, 4)
n5 = Mid(C, 1, 4)
n10 = Mid(C, 1, 4)
n11 = Mid(C, 1, 4)
n12 = Mid(C, 1, 4)
n13 = Mid(C, 1, 3)
n14 = Mid(C, 1, 4)
If n1 = 1 Or n2 = 6611 Or n4 = 6874 Or n5 = 6875 _
Or n10 = 7865 Or n11 = 7874 Or n12 = 7875 Or n13 = 777 Or n14 = 7872 _
Then
Selection.EntireRow.Insert Shift:=xlDown
ActiveCell.Offset(0, 0).Select
Range(C, C.Offset(0, 255).End(xlToLeft)).Copy
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Select
End If
Next
End Sub
----
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
FFO
Salut à toi
Si je comprends bien tu voudrais une macro qui réagissent en fonction d'un changement de cellules de certaines feuilles
Hors mis les macros évennementielles affectées aux feuilles ou au classeur qui réagissent dés que l'évennement survient pour la feuille si la macro est dans le VBA de la feuille pour toutes les feuilles si la macro est dans le ThisWorkbook du classeur je ne connais pas de macro standard qui puisse réagir de la même manière
Tu souhaiterais dans le VBA de la feuille "10" déclencher une procédure si un changement survient dans les feuilles "GA11" "GA12" "GA13" L'évennement qui concerne le changement pour une feuille ne concerne que les cellules de la feuille et non pas celles des autres feuilles
La solution consisterait à rajouter des cellules de référence (C7 et D7 par exemple) à chaque feuille qui permettrait de comparer avec les cellules (C6 et D6) de ces feuilles afin de déterminer si il y a changement ou pas et de les remettre à jour à la fin de l'éxécution du code pour les comparaisons suivantes
La procédure sur la feuille "10" pourrait être piloté par un bouton avec ce code :
For Each i In Sheets(Array("GA11", "GA12", "GA13")) If i.Range("C6").Value <> i.Range("C7") Or i.Range("D6").Value <> i.Range("D7") n = 1 Exit For End If Next If n = 1 then Run("Import10") Sheets("GA11").Range("C7").Value = Sheets("GA11").Range("C6").Value Sheets("GA11").Range("D7").Value = Sheets("GA11").Range("D6").Value Sheets("GA12").Range("C7").Value = Sheets("GA12").Range("C6").Value Sheets("GA12").Range("D7").Value = Sheets("GA12").Range("D6").Value Sheets("GA13").Range("C7").Value = Sheets("GA13").Range("C6").Value Sheets("GA13").Range("D7").Value = Sheets("GA13").Range("D6").Value End If
Celà devrait te convenir Dis moi !!!!
Salut à toi
Si je comprends bien tu voudrais une macro qui réagissent en fonction d'un
changement de cellules de certaines feuilles
Hors mis les macros évennementielles affectées aux feuilles ou au classeur
qui réagissent dés que l'évennement survient pour la feuille si la macro est
dans le VBA de la feuille pour toutes les feuilles si la macro est dans le
ThisWorkbook du classeur je ne connais pas de macro standard qui puisse
réagir de la même manière
Tu souhaiterais dans le VBA de la feuille "10" déclencher une procédure si
un changement survient dans les feuilles "GA11" "GA12" "GA13"
L'évennement qui concerne le changement pour une feuille ne concerne que les
cellules de la feuille et non pas celles des autres feuilles
La solution consisterait à rajouter des cellules de référence (C7 et D7 par
exemple) à chaque feuille qui permettrait de comparer avec les cellules (C6
et D6) de ces feuilles afin de déterminer si il y a changement ou pas et de
les remettre à jour à la fin de l'éxécution du code pour les comparaisons
suivantes
La procédure sur la feuille "10" pourrait être piloté par un bouton avec ce
code :
For Each i In Sheets(Array("GA11", "GA12", "GA13"))
If i.Range("C6").Value <> i.Range("C7") Or i.Range("D6").Value <>
i.Range("D7")
n = 1
Exit For
End If
Next
If n = 1 then
Run("Import10")
Sheets("GA11").Range("C7").Value = Sheets("GA11").Range("C6").Value
Sheets("GA11").Range("D7").Value = Sheets("GA11").Range("D6").Value
Sheets("GA12").Range("C7").Value = Sheets("GA12").Range("C6").Value
Sheets("GA12").Range("D7").Value = Sheets("GA12").Range("D6").Value
Sheets("GA13").Range("C7").Value = Sheets("GA13").Range("C6").Value
Sheets("GA13").Range("D7").Value = Sheets("GA13").Range("D6").Value
End If
Si je comprends bien tu voudrais une macro qui réagissent en fonction d'un changement de cellules de certaines feuilles
Hors mis les macros évennementielles affectées aux feuilles ou au classeur qui réagissent dés que l'évennement survient pour la feuille si la macro est dans le VBA de la feuille pour toutes les feuilles si la macro est dans le ThisWorkbook du classeur je ne connais pas de macro standard qui puisse réagir de la même manière
Tu souhaiterais dans le VBA de la feuille "10" déclencher une procédure si un changement survient dans les feuilles "GA11" "GA12" "GA13" L'évennement qui concerne le changement pour une feuille ne concerne que les cellules de la feuille et non pas celles des autres feuilles
La solution consisterait à rajouter des cellules de référence (C7 et D7 par exemple) à chaque feuille qui permettrait de comparer avec les cellules (C6 et D6) de ces feuilles afin de déterminer si il y a changement ou pas et de les remettre à jour à la fin de l'éxécution du code pour les comparaisons suivantes
La procédure sur la feuille "10" pourrait être piloté par un bouton avec ce code :
For Each i In Sheets(Array("GA11", "GA12", "GA13")) If i.Range("C6").Value <> i.Range("C7") Or i.Range("D6").Value <> i.Range("D7") n = 1 Exit For End If Next If n = 1 then Run("Import10") Sheets("GA11").Range("C7").Value = Sheets("GA11").Range("C6").Value Sheets("GA11").Range("D7").Value = Sheets("GA11").Range("D6").Value Sheets("GA12").Range("C7").Value = Sheets("GA12").Range("C6").Value Sheets("GA12").Range("D7").Value = Sheets("GA12").Range("D6").Value Sheets("GA13").Range("C7").Value = Sheets("GA13").Range("C6").Value Sheets("GA13").Range("D7").Value = Sheets("GA13").Range("D6").Value End If