IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Macros sous condition dans une autre macro


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2
    Par défaut Macros sous condition dans une autre macro
    Bonjour j'ai pour ambition de faire une macro qui nous met sur une autre feuille selon le résultat de la cellule.

    Je pense avoir réussit tout ce qui à été dit mais je sais pas comment faire pour l'insérer dans une autre macro. Car le problème c'est que je veut exécuter cette macro juste après l'enregistrement du résultat.

    Je vous donne la macro avec les If:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    Sub Worksheet_Change(ByVal Target As Range) 
    If Target.Address = "G14" Then 
    Select Case Target.Value 
    Case Is = A 
     
    Ptouché 
     
    End If 
     
     
    If Target.Address = "G14" Then 
    Select Case Target.Value 
    Case Is = X 
    Ptouché 
     
    End If 
     
    If Target.Address = "G14" Then 
    Select Case Target.Value 
    Case Is = O 
    Ptouché 
     
    End If 
     
    If Target.Address = "G14" Then 
    Select Case Target.Value 
    Case Is = 0 
    Peau 
     
    End If 
     
    If Target.Address = "H10" Then 
    Select Case Target.Value 
    Case Is = Perdu 
    Pover 
     
    End If 
    End Sub
    Que je veux mettre dans la macro suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    Sub Navalrésult() 
    ' 
    ' Navalrésult Macro 
    ' Macro enregistrée le 10/12/2013 par pedago 
    ' 
     
     
    Rows("23:23").Select 
    Range("E23").Activate 
    Selection.Insert Shift:=xlDown 
    Range("G12").Select 
    Selection.Copy 
    Range("F23").Select 
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 
    :=False, Transpose:=False 
    Range("G13").Select 
    Application.CutCopyMode = False 
    Selection.Copy 
    Range("G23").Select 
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 
    :=False, Transpose:=False 
    Range("G14").Select 
    Application.CutCopyMode = False 
    Selection.Copy 
    Range("H23").Select 
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _ 
    False, Transpose:=False 
    Range("G14").Select 
    Application.CutCopyMode = False 
    Selection.Copy 
    Range("H23").Select 
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 
    :=False, Transpose:=False 
    Range("H26").Select 
     
    End Sub
    Voilà le but c'est de faire un sorte d'affichage pour le résultat, car c'est une bataille navale et je voulais mettre les touchés, à l'eau et Game Over. C'est plus pour le fun (oui je sais il y a des trucs plus drôle ^^ ) et pour apprendre des trucs.

    Voilà en espérant que ma question soit assez clair

  2. #2
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 344
    Par défaut
    Déjà, cette phrase, je la comprend pas :

    Citation Envoyé par vvl_5 Voir le message
    Bonjour j'ai pour ambition de faire une macro qui nous met sur une autre feuille selon le résultat de la cellule.


    Par ailleurs, si tu pouvais mettre les balises CODE dans ton message, ça serait beaucoup plus lisible

    Ensuite, cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    If Target.Address = "G14" Then 
    Select Case Target.Value 
    Case Is = A 
     
    Ptouché 
     
    End If
    c'est quoi Ptouché ?? un Msgbox ?? je comprend pas trop ce que tu essaye de faire en fait...

    Là où tes macros sont positionnées c'est quand tu change la valeur d'une cellule de ta feuille.

    Ensuite, peux-tu nous dire brièvement à quoi correspond ta fonction Navalrésult ? Si mes yeux sont bons, tu insère une ligne, et après tu fais des copier/coller valeurs, mais je comprend pas de quoi / pourquoi / où

    Et vu que ton code est pas entre balises, j'ai du mal à lire
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2
    Par défaut
    Merci de m'avoir répondu si vite

    Bon j'ai découvert les macros cette année (et excel aussi en fait ^^, même si je l'avais vu un peu avant) du coup ma maîtrise de la rédaction d'une macro est limité

    Donc en gros j'ai une macro qui enregistre le résultat avec la ligne et la colonne visée. "Navalrésult"

    Et je voulais que selon le résultat la feuille change pour montrer une feuille avec écrit dessus soit "Touché"; "A l'eau"; "Game Over". Et donc j'ai fait trois macros qui change la feuille ("Ptouché" renvoi à la feuille "Touché"; "Peau" => "A l'eau"; "Pover" => "Game Over". Oui je sais c'est pas très logique et si en plus j'explique pas ça aide pas ^^)

    Et sur internet j'ai trouvé comment faire une macro avec condition

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub Worksheet_Change(ByVal Target As Range) 
    If Target.Address = "G14" Then 
    Select Case Target.Value 
    Case Is = A 
     
    Mamacro
     
    End If 
     
     
    End Sub

Discussions similaires

  1. Réponses: 6
    Dernier message: 06/01/2014, 21h08
  2. Réponses: 14
    Dernier message: 27/07/2011, 09h50
  3. [XL-2003] Définir une variable présente dans une autre macro
    Par gandalf20000000 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 05/11/2009, 15h02
  4. Exécuter une macro dans une autre macro
    Par marc56 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 04/02/2008, 13h17
  5. Cacher un bouton camoufler dans une autre macro
    Par melodyyy dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 04/07/2007, 17h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo