Mettre plusieurs Script VBA de suite

Bonjour,

J'ai commencé le langage VBA sur Excel il y a 1 semaine. J'ai pu comprendre que Excel est Single-Thread. Hors, j'ai besoins de lancé différent Sub qui détecte un changement de valeur en même temps car mon script détecte une modification et démarre mes deux modules. Pour l'instant j'aimerai détecté 2 changements de valeur dans 2 cellules différentes, une sur C5 et l'autre dans H22. Je n'arrive pas a trouver l'expression qui pourrait aider ma cause.
Fichier Excel si dessous :

L'erreur 1004 au lancement sera bien évidement réglé a la fin.

Pour comprendre le fonctionnement il faut au minimum mettre des valeurs dans B8:D8 puis mettre une valeur dans C5 = enregistrement
Et quand le reste de la tracabilité est effectué, la copie et la mettre dans BDD (il ne copie que E8 c'est juste pour le test)

Bonjour,

Essayez ceci dans le module de la feuille "TRACENDO"

Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo Sortie
    Application.EnableEvents = False
    If Cells(8, "B") <> "" And Cells(8, "C") <> "" And Cells(8, "D") <> "" Then
        If Target.Address = "$C$5" Then
            Call Module1.TRACENDO
        ElseIf Target.Address = "$H$22" Is Nothing Then
            Call Module11.TEST
        End If
    End If
Sortie:
    Application.EnableEvents = True
End Sub

Cdlt

voici ce qu'il ce passe quand je test :

cdlt

capture d ecran 2023 03 03 095423

Supprimez ceci

Is Nothing

Tout fonction, hors je viens de remarqué que même si il n'y a pas de valeur dans F9, mon script sélectionne quand même la fenêtre H22 et fais déclenché le module TEST

Vous n'aviez jamais mentionné F9 dans les posts précédents:

Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo Sortie
    Application.EnableEvents = False
    If Cells(8, "B") <> "" And Cells(8, "C") <> "" And Cells(8, "D") <> "" And Cells(9, "F") <> "" Then
        If Target.Address = "$C$5" Then
            Call Module1.TRACENDO
        ElseIf Target.Address = "$H$22" Then
            Call Module11.TEST
        End If
    End If
Sortie:
    Application.EnableEvents = True
End Sub

Non désolé j'avais mentionné H22 mais pas ça provenance, le script fonctionne a merveille.

Merci Beaucoup !

Autant pour moi il y a juste un soucis le Module2 ne demarre pu

Si la saisie dans F9 (ou H22) est indépendante de C5, alors ceci (mais il faut toujours que les cellules de B8 à E8 soient pleines):

Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo Sortie
    Application.EnableEvents = False
    If Cells(8, "B") <> "" And Cells(8, "C") <> "" And Cells(8, "D") <> "" And Cells(9, "F") <> "" Then
        If Target.Address = "$C$5" Then
            Call Module1.TRACENDO
        End If
        If Target.Address = "$F$9" Then
            Call Module11.TEST
        End If
    End If
Sortie:
    Application.EnableEvents = True
End Sub

Le script fonctionne! Merci beaucoup !

Je vais faire étapes par étapes pour faire plus simple :

1 - Rentrer les données B8 a E8 (CB opérateur et patient, test (ok ou hs) puis CB LDE).
2 - Rentrer CB endo (C5) --> enregistrement la lignes (dans la BDD temporaire en dessous et effaçage des données dans la saisie).
3 - Faire de même que l'étape 1 et 2 (avec d'autre données).
4 - Pouvoir revenir sur une ligne avec étapes 1 et 2 complétées.
5 - Rentré les données B9 et F9 (opérateur qui pose l'endo a l'ESET).
6 - Puis que cette information (Une fois la saisie complété) soit supprimer est écrit dans la feuille BDD.

Aide :
CB = Code Barre
LDE = Outils de lavage
ESET = Outils de Séchage
Endo = Outils
BDD = Base De Données

Le script fonctionne, mais pas dans le sens le quel la traçabilité doit être fais .

Attention, je n'ai fait que traiter la macro évènementielle, celle qui se déclenche lors de la saisie en C5 ou F9, pour les macros dépendantes de ces actions (dans module 1 et module 11), j'ignore totalement ce qu'elles sont censées faire puisque cela ne faisait pas partie de la demande initiale.

Oui, j'ai modifier pour que ça colle avec mes envies, merci beaucoup pour l'aide ! J'étais bloquer sur ça depuis 2/3 jours!

Rechercher des sujets similaires à "mettre script vba suite"