Macro qui se succédent

bonjour a vous : par apport au fichier que je vous envois qui pourrai me dire que changer sur le noms de mon deuxième code de macro !? a chaque fois que je m'en sert il me met un message d'erreur " erreur de compilation " il faudrait changer le noms "Worksheet_Change" ???? merci

https://www.excel-pratique.com/~files/doc/MACRO_2.txt

Bonsoir,

C'est la suite de ce fil non ? -> https://www.excel-pratique.com/forum/viewtopic.php?p=56661

Dans ton fichier, tu as deux fois la même macro. Donc normal que cela ne fonctionne pas.

Pourquoi ne met-tu les deuxième code dans le premier

A te relire

Dan

Bonsoir à tous,

Tu ne peux mettre qu'un seul

Private Sub Worksheet_Change(ByVal Target As Range)

par feuille

essaye quelque chose comme çà abrégé)

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, ActiveCell) Is Nothing Then
        If Target.Address(0, 0) <> "A2" Then Exit Sub
        'si la cellule modifiée est différente de A2, on sort
        Select Case [A2]
            'tester A2
            Case "dormant R30"
                [E4] = "aile de ??"
                [E17] = "aile de ??"
                [D10] = "aile de ??"
                [F10] = "aile de ??"
                [C12] = "sans kom"
                [D15] = ""
                [D16] = ""
            Case "dormant R40"
                [E4] = "aile de ??"
                [E17] = "aile de ??"
                [D10] = "aile de ??"
                [F10] = "aile de ??"
                [C12] = "sans kom"
                [D15] = ""
                [D16] = ""
        End Select
'***********************
            If Target.Address(1, 0) <> "A4" Then Exit Sub
            'si la cellule modifiée est différente de A4, on sort
            Select Case [A4]
                'tester A4
                Case "bicolor"
                    [B3] = "ext"
                    [C3] = "int"
                Case "couleur"
                    [B3] = ""
                    [C3] = ""
            End Select
 End If
End Sub

Amicalement

Claude.

édit: Salut Dan

re,

Le code complet :

Option Explicit
Public ok As Boolean
Private Sub Worksheet_Change(ByVal Target As Range)
'Macro Dan le 20/02/09
If target.count>1 then exit sub
If ok = True Then Exit Sub
ok = True
If Not Intersect(Target, Range("A2")) Is Nothing Then

Select Case Target
    Case Is = "dormant R30", "dormant R40", "dormant R65", "dormant R60"
    Range("E4, E17,D10,F10") = "aile de ??"
    Range("C12") = "sans kom"
    Range("D15,D16") = ""

    Case Is = "dormant D.6"
    Range("E4, E17,D10,F10,D16") = ""
    Range("C12") = "sans DE"
    Range("D15,D16") = ""

    Case Is = "dormant R30monobloc"
    Range("E4") = "vr"
    Range("D16") = "VR ??"
    Range("E17,D10,F10") = "aile de ??"
    Range("C12") = "sans kom"
    Range("D15") = ""

    Case "dormant D.6monobloc"
    Range("E4") = "vr"
    Range("D16") = "VR ??"
    Range("E17,D10,F10") = ""
    Range("C12,D15") = "sans D.E"

    Case "dormant D60monobloc"
    Range("E4") = "vr"
    Range("D16") = "VR ??"
    Range("E17,D10,F10") = "aile de 10"
    Range("C12") = "sans kom"
    Range("D15") = ""
End Select

End If

If Not Intersect(Target, Range("A4")) Is Nothing Then
ok = True
Select Case Target
    Case "bicolor"
    Range("B3") = "ext"
    Range("C3") = "int"

    Case "couleur"
    Range("B3,C3") = ""
    Range("C3") = "int"
End Select
End If
ok = False
End Sub

Si ton pb est terminé, n'oublie pas de mettre RESOLU en utilisant la liste déroulante au bas à gauche dans la fenêtre de ton premier message.

Merci pour le forum.

Amicalement

Dan

la dernière macro me va comme un gant !! dernière question , je peux reprend la même intro du 2ém code pour en faire un troisième?

en tout cas bien le merci

Re,

Cela dépend ce que tu veux faire et surtout où dans quelle feuille tu dois le faire. Si c'est dans la même et que c'est dans le même esprit (changement de valeur dans une cellule) tu dois combiner la troisième avec celle que je t'ai proposée.

Vois ce que Dubois te dit en premier dans son message.

Amicalement

Dan

bonjour a vous ! donc tout ça en venir a la question suivante ===>quand je vais selectionner en A2 un dormant qui ne possede pas de monobloc , est ce que ça serait possible de faire disparaitre les lignes 26 & 27 de quelconque manière tout en sachant que j'ai deja deux code macro en fonction !! merci

https://www.excel-pratique.com/~files/doc/GRKjltest.xlsm

je ne savais pas si il fallait ouvrir une autre discutions vu que ce n'est trop le même sujet ?? a vous de me dire

re,

1. ton fichier est au format 2007. donc je ne sais pas le lire

2. Tu parles de "monobloc". Tu veux dire que la donnée entrée en A2 ne comporte pas le mot "monobloc" (dans la macro ce sont les cas 1 et 2) ?

3. "..Faire disparaitre les lignes 26 et 27" Tu veux dire les "Supprimer" ou les "cacher" ?

Si cachées, comment doit-on les faire réapparaitre ?

Désolé de toutes ces questions mais en programmation il faut tout prévoir ....

Dan

j'ai enregistré le fichier sous excel97-2003 peut être ça ira mieux , désolé

sinon pour le lignes 26 & 27 ça serait plutôt les cacher ! suivant le dormant que je sélectionne dans la liste déroulante A2

voila ce que ça pourrai donner pour ligne26 et 27

dormant R30 ====> caché

dormant R40 ====> caché

dormant R65 ====> caché

dormant D.6 ====> caché

dormant D60 ====> caché

dormant R30monobloc ====> visible

dormant D.6monobloc ====> visible

dormant D60monobloc ====> visible

et même principe pour ligne 29 et 30

dormant R30 ====> caché

dormant R40 ====> caché

dormant R65 ====> caché

dormant D.6 ====> visible

dormant D60 ====> caché

dormant R30monobloc ====> caché

dormant D.6monobloc ====> visible

dormant D60monobloc ====> visible

https://www.excel-pratique.com/~files/doc/5HOFxtest.xlsm

voila j'espère que j'ai ete plus précis et si il faut n'hésite pas a me demander y a aucun souci merci

re,

J'ai enregistré le fichier sous excel97-2003 peut être ça ira mieux , désolé

Vincent on ne va pas recommencer comme dans l'autre fil. Là tu repostes de nouveau un fichier illisible.

On a déjà passé du temps dans un fil à essayer de te faire comprendre comment enregistrer un fichier en excel 2003 sans que tu utilises la bonne méthode. Tant que ton fichier comporte 4 caractères à l'extension, il sera illisible pour la plupart.

Retiens donc ceci :

Excel 2007 : extension des fichiers avec 4 caractères --> XLSM, XLSX

Excel 2003 et précédent : extension des fichiers avec 3 caractères --> XLS, XLT

Et bien entendu l'enregistrement correct ne consiste pas à changer l'extension XLSX ou M en XLS.

Pour ta macro CACHE ou VISIBLE

Dans le code pour les différents cas, utilises ces instructions selon le cas (exemple pour les lignes 26 et 27).

Cacher :

Rows("26:27").EntireRow.Hidden = True

Visible

Rows("26:27").EntireRow.Hidden = False

Mets par exemple l'instruction en dessous des "Range("D15")....."

A te relire

Dan

houps houps !!! me trompé de fichier quand je te l'ai envoyé

https://www.excel-pratique.com/~files/doc/iUMSstest.zip

maintenant c'est bon tu pourras visualisé a peu prés ce que j'envisage de faire !

encore désolé la semaine a été dur dur

ça y est ça marche !!!! super tes codes , une merveille !! affaire classé tu passeras je te payerai l'apéro

re,

parfait ton fichier est lisible !

N'oublie pas de mettre RESOLU sur ce fil si ton pb est terminé.

Merci de ta particiaption à ce forum

Bonne journée

Dan

Rechercher des sujets similaires à "macro qui succedent"