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 :

Deux boutons - 1 seule place à afficher


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 145
    Par défaut Deux boutons - 1 seule place à afficher
    Bonjour

    J'ai deux bouton sur ma feuille Excel. Si je clique sur celui en anglais, il doit affiché une phrase en anglais. Si je clique sur celui en français, il doit affiché une phrase en français. Peu importe le bouton, la phrase doit s'affiché à la même place. Je reprend du code d'un ancien utilisateur (sans information) donc un peu difficle au début. Il avait écrit une phrase en francais et en cliquant sur le bouton "Note de crédit" cela apparaissait sur la facture, (si j'ai bien compris le code la phrase est écrite sur la feuille excel et en cliquant sur le bouton, ca masque et démasque. On me demande d'écrire la même phrase en anglais si le client est anglais. Que faire

  2. #2
    Membre confirmé Avatar de mentat
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Août 2009
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Electrotechnicien
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2009
    Messages : 139
    Par défaut
    Salut

    Mon conseil serais :

    La solution la plus facile serait de crée deux bouton, un éffaçant la case et la remplissant avec la traduction en Français de ton text et l'autre éffaçant la case et la remplissant avec la traduction en anglais de ton text.

    Ensuite pour optimisé tu fais la même opération avec un bouton...

    Poste ton code déja...

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Bonjour

    Sans voir comment est conçu le classeur, il est malaisé de répondre d'une façon pertinente...

    Lorsque je suis confronté à ce genre de cas, je place une liste déroulante avec le choix des langue. En choisissant une langue dans la liste, je place une certaine valeur dans la cellule liée à cette liste, et je travaille avec des formules conditionnelles et/ou la fonction INDEX pour renvoyer le texte adéquat dans les cellules...

    Mieux encore, au choix du client, on va rechercher sa langue dans le signalétique, et c'est cela qui détermine le choix du message dans les cellules...

    A ce niveau-là, je ne me sers pas de VBA, le mécanisme est mis en place uniquement dans Excel. Mais il est bien entendu possible de renvoyer la valeur dans la cellule "langue" par VBA.

    Comme souvent, donc, un problème de conception du classeur bien avant d'être un problème VBA...

    Ok?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 145
    Par défaut
    L'explication de Pierre Fauconnier est bonne, mais c'est juste une petite application maison pour la secrétaire, et elle fait ca seulement en fin de mois (de toute facon les client anglais comprennent très bien la phrase en fracais, mais loi gouvernementale pour un organisme para-gouvernemental oblige...).
    Voici le code utilisé
    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
    Sub noteDeCrédit()
     
        'Pour faire afficher la phrase Note de crédit
     
        Application.ScreenUpdating = False
        ActiveSheet.Unprotect Password:="FACTFIN"
        If Range("N60") < 0 Then
        Range("D7:L8").Select
        Selection.Font.ColorIndex = 0
        Else: Range("D7:L8").Select
        Selection.Font.ColorIndex = 2
        End If
        ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
            , AllowFormattingCells:=True, Password:="FACTFIN"
        Range("A1").Select
     
     
    End Sub

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Je persiste et signe, car je préfère de loin une bonne mise en place dans Excel qui facilitera d'autant plus la création d'un code VBA pérenne.

    J'ai créé le fichier joint en 5 minutes, donc, cette solution est parfaitement adaptée à une utilisation mensuelle d'une petite application maison... De plus, dans cet exemple, je n'ai aucune ligne de code VBA...

    A toi de choisir entre la simplicité d'Excel et une certaine rigidité de VBA.

    http://fauconnier.developpez.com/for...ultilingue.xls
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 145
    Par défaut
    Oui, c'est bien, mais ce n'est pas comme ca que ca fonctionne ici. Si on reprendrait au début, ce serait une bonne solution. Mais les série de copie de facture sont ailleurs (dansun autre dossier). Mon patron veut juste que je cré un bouton pour écrire "Credit Note". Le bouton pour écrire "Note de crédit" existe déjà.

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Je ne vois pas trop en quoi le code que tu as donné permet cela, ou plutôt, sans le classeur, il va falloir jouer aux devinettes.

    Le code que tu donnes modifie l'encre d'une cellule, c'est-à-dire la couleur tu texte dans la cellule. Je suppose que D7:L8 correspond à une plage qui contient le mot à afficher ou cacher. Je suppose aussi qu'il y a donc une autre plage à afficher ou cacher...

    Quoi qu'il en soit, ton code est pour le moins très bizarre, et nonobstant ce que j'ai dit plus haut, il faudrait l'adapter et le faire correspondre à ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Range("N60") < 0 Then
        Range("D7:L8").Font.ColorIndex = 0
        Else
        Range("D7:L8").Font.ColorIndex = 2
    End If
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  8. #8
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 145
    Par défaut
    La liste déroulante ne fonctionne pas.

  9. #9
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Je ne comprends pas ce que tu veux dire par "ne fonctionne pas"

    Tu sélectionnes la cellule fusionnée, tu cliques sur la flèche qui apparaît à droite, et tu choisis parmi les deux propositions... (Je viens de tester en téléchargeant le fichier)
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  10. #10
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 145
    Par défaut
    Vous choississez Zone de liste Déroulante dans les outils? Et vous faites comment pour entrer les deux choix? Je suis les instructions de l'aide et ca ne marche pas

  11. #11
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Non, c'est une liste de validation directement dans la cellule

    <XL2007 => Données/Validation
    XL2007: Onglet Données, groupe Outils de données, Validation de données

    Là, choisir Liste, puis saisir les deux valeurs séparées par un point-virgule.

    Tu peux voir ce que j'ai fait en sélectionnant d'abord la cellule dans le fichier que j'ai posté, puis en procédant comme expliqué plus haut.

    Validation de données en 2007



    Et en 2003
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  12. #12
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 145
    Par défaut
    Enfin, ca commence à prendre forme. (il a fallu que je mettre une virgule au lieu de point virgule comme séparateur). J'ai décocher la case "Ignorer si vide" car il se peut aussi (pour les données positives) qu'aucune des deux indications ne soient là. Mais dans la sélection, un espace vide n'apparait pas (j'ai aussi mis un espace dans la sélection avec une virgule pour séparé, mais la ligne blanche que je veux n'apparait pas)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment afficher un Alert ayant les deux boutons "oui" et "non" ?
    Par andrianiaina dans le forum Développement Mobile en Java
    Réponses: 0
    Dernier message: 28/04/2011, 15h27
  2. [WD14] Deux boutons validation dans une seule fenêtre
    Par ilalaina dans le forum WinDev
    Réponses: 4
    Dernier message: 29/09/2009, 16h05
  3. Deux boutons de type submit pour un seul formulaire
    Par wise_mind dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 25/06/2009, 09h59
  4. [LabVIEW 8.6]Deux boutons pour une seule commande.
    Par bobico dans le forum LabVIEW
    Réponses: 4
    Dernier message: 08/06/2009, 16h03
  5. deux bouton submit pour un seul formulaire
    Par griese dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 16/06/2006, 11h56

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