Excel VBA : multiples "call"
Fermé
JBR
-
9 déc. 2011 à 17:07
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 - 9 déc. 2011 à 18:21
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 - 9 déc. 2011 à 18:21
A voir également:
- Excel VBA : multiples "call"
- Liste déroulante excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
- Excel compter cellule couleur sans vba - Guide
2 réponses
bonjour
sans voir la sub, pas facile de répondre.
Si chaque call est lié à une cellule, il faudrait tester la cellule (les coordonnées ...) pour savoir quelle sub appeler.
Bonne suite ou à plus de précision.
sans voir la sub, pas facile de répondre.
Si chaque call est lié à une cellule, il faudrait tester la cellule (les coordonnées ...) pour savoir quelle sub appeler.
Bonne suite ou à plus de précision.
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 428
9 déc. 2011 à 18:21
9 déc. 2011 à 18:21
bonjour
comme dit paf, il te faut tester l'adresse de la cellule modifiée, quelque chose du genre
bonne suite
comme dit paf, il te faut tester l'adresse de la cellule modifiée, quelque chose du genre
Private Sub Worksheet_Change(ByVal Target As Range) Dim ad As String ad = Target.Address Select Case ad Case "$A$1": Call proc1(ad) Case "$A$2": Call proc2(ad) Case "$A$3": Call proc3(ad) Case "$A$4": Call proc4(ad) End Select End Sub Sub proc1(a) MsgBox ("proc1 " & a) End Sub Sub proc2(a) MsgBox ("proc2 " & a) End Sub Sub proc3(a) MsgBox ("proc3 " & a) End Sub Sub proc4(a) MsgBox ("proc4 " & a) End Sub
bonne suite
9 déc. 2011 à 18:01
Sub Worksheet_Change(ByVal Target As Range)
With Sheets("CBF")
Application.ScreenUpdating = False
'Définition des variables utilisées dans les sub
Dim AuditPieuvre As Variant
AuditPieuvre = ("E32")
Dim TestYN
TestYN = ("C68")
Dim InsertYN
InsertYN = ("D63")
Dim Langue
Langue = ("H25")
Dim NBLangue
NBLangue = ("E25")
Dim FirstConfNumber
FirstConfNumber = ("C82")
Dim LangueFirstConfNumber
LangueFirstConfNumber = ("E82")
Dim SecondConfNUmber
SecondConfNUmber = ("C84")
Dim LangueSecondConfNumber
LangueSecondConfNumber = ("E84")
Dim ThirdConfNumber
ThirdConfNumber = ("C86")
Dim LangueThirdConfNumber
LangueThirdConfNumber = ("E86")
Dim FirstReplayNumber
FirstReplayNumber = ("C105")
Dim LangueFirstReplayNumber
LangueFirstReplayNumber = ("E105")
Dim SecondReplayNumber
SecondReplayNumber = ("C107")
Dim LangueSecondReplayNumber
LangueSecondReplayNumber = ("E107")
Dim ThirdReplayNumber
ThirdReplayNumber = ("C109")
Dim LangueThirdReplayNumber
LangueThirdReplayNumber = ("E109")
Dim ChoixQA
ChoixQA = ("C97")
Dim FilterDial
FilterDial = ("C93")
Dim ChoixTranscription
ChoixTranscription = ("C118")
Dim ChoixWelcomeMessage
ChoixWelcomeMessage = ("C45")
Dim UChoixRecord
UChoixRecord = ("C101")
Dim BChoixRecord
BChoixRecord = ("C102")
Dim ChoixIdentification
ChoixIdentification = ("C91")
Dim NumberLineTest
NumberLineTest = ("C70")
Dim NumberRehearsalTest
NumberRehearsalTest = ("C75")
Dim ChoixWebConf
ChoixWebConf = ("C112")
Dim ChoixComLine
ChoixComLine = ("C95")
Dim NumberSpeaker
NumberSpeaker = ("C34")
Dim ChoixDDI
ChoixDDI = ("C88")
Dim TranscriptionLangue
TranscriptionLangue = ("J119")
Dim RecordingLangue
RecordingLangue = ("J102")
Dim ChoixQAFiltering
ChoixQAFiltering = ("C99")
'Programme principal qui appelle ceux décrient plus bas
Call Auditorium(AuditPieuvre)
Call TestGlobal(TestYN)
Call Insert(InsertYN)
Call Langues(Langue)
Call NbLangues(NBLangue)
Call FirstNumberConf(FirstConfNumber)
Call LangueFirstNumberConf(LangueFirstConfNumber)
Call SecondNumberConf(SecondConfNUmber)
Call LangueSecondNUmberConf(LangueSecondConfNumber)
Call ThirdNumberConf(ThirdConfNumber)
Call LangueThirdNumberConf(LangueThirdConfNumber)
Call FirstNumberReplay(FirstReplayNumber)
Call LangueFirstNumberReplay(LangueFirstReplayNumber)
Call SecondNumberReplay(SecondReplayNumber)
Call LangueSecondNumberReplay(LangueSecondReplayNumber)
Call ThirdNumberReplay(ThirdReplayNumber)
Call LangueThirdNumberReplay(LangueThirdReplayNumber)
Call SessionQA(ChoixQA)
Call DialInFilter(FilterDial)
Call Transcription(ChoixTranscription)
Call WelcomeMessage(ChoixWelcomeMessage)
Call UnilingueRecording(UChoixRecord)
Call BilingueRecording(BChoixRecord)
Call Identification(ChoixIdentification)
Call LineTestNumber(NumberLineTest)
Call RehearsalTestNumber(NumberRehearsalTest)
Call Webconf(ChoixWebConf)
Call ComLine(ChoixComLine)
Call SpeakerNumber(NumberSpeaker)
Call DDIMode(ChoixDDI)
Call LangueTranscription(TranscriptionLangue)
Call LangueRecording(RecordingLangue)
Call QAFiltering(ChoixQAFiltering)
End With
End Sub
Ensuite tu as toute la liste des Sub appelées, mais ça risque de faire très long si je devais tout mettre.
Aujourd'hui si jamais je touche à la cellule liée à la sub "Identification" par exemple (C91), il va faire tourner cette Sub + toutes les autres. Hors je souhaiterai juste qu'il fasse tourner cette sub et qu'il attende que j'agisse sur les autres cells qui concernent les autres sub pour faire tourner les process.