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 :

Définir des variables [Débutant(e)]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Août 2012
    Messages : 1
    Par défaut Définir des variables
    Bonjour

    J'ai la chance d'utiliser excel 2003 et je suis donc contraint de développer une macro si je veux disposer d'un visuel plus confortable que celui offert par la fonction mise en forme conditionnelle (conditionnal formating).

    Mes connaissances en VBA sont minimes je suis capable de parfois comprendre et de modifier le code très simplement.

    J'ai trouvé une macro qui m'intéresse mais je ne parviens pas à l'adapter.

    http://chandoo.org/wp/2008/10/14/mor...mats-in-excel/



    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
    Sub cFormat()
    ' This is a macro for creating more than 3 conditional formats
    ' Install this macro (just copy paste this code in to your workbook in a new module
    ' Define 3 named ranges:
    '   data2use: with the data you want to format with more than 3 conditional formats
    '   conditions2use: same shape and size as data2use with format conditions for each cell in the data2use, from 1 to n
    '   formats2use: this range has n cells each with one format to be used when formatting data2use range
    'when done, hit ALT+F8 and run the cFormat() macro
     
        Dim conditions()
     
        ReDim conditions(1 To Range("conditions2use").Count)
        Dim i
     
        i = 1
     
        For Each cell In Range("conditions2use")
            conditions(i) = CInt(cell.Value)
            i = i + 1
        Next cell
     
        i = 1
        For Each cell In Range("data2use")
            Range("formats2use").Cells(conditions(i)).Select
            Selection.Copy
            cell.Select
            Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
            i = i + 1
        Next cell
    End Sub

    il est dit "Define 3 named ranges" --> comment je définit ça?
    Est ce que quelqu'un peut aider afin que je comprennne comment on définit une variable en VBA, comment le système comprend l'écriture?

    Merci

    P

  2. #2
    Membre chevronné Avatar de Bear the french
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations forums :
    Inscription : Mai 2012
    Messages : 352
    Par défaut
    Bonsoir,

    L'auteur du code a laissé des instruction au début de son programme/de sa macro :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ' This is a macro for creating more than 3 conditional formats
    ' Install this macro (just copy paste this code in to your workbook in a new module
    ' Define 3 named ranges:
    '   data2use: with the data you want to format with more than 3 conditional formats
    '   conditions2use: same shape and size as data2use with format conditions for each cell in the data2use, from 1 to n
    '   formats2use: this range has n cells each with one format to be used when formatting data2use range
    '   when done, hit ALT+F8 and run the cFormat() macro
    Ok, c'est en anglais mais ça reste un niveau simple. Il faut que tu définisses trois noms pour trois types de cellule ou groupe de cellules.
    • data2use : la plage de cellules que l'on veut formater avec les formats conditionnels
    • conditions2use : la plage contenant les conditions à utiliser
    • formats2use : la plage de cellules contenant les formats à appliquer

    Une fois les noms définis, l'auteur te dit d'appuyer sur les touches ALT + F8 pour lancer la macro.

    Pour définir le nom d'une plage, je selectionne ma plage de cellules puis menu "Formules" (puis "Gestionnaire de noms",) puis "Définir un nom" - Attention, j'ai Excel 2010 donc il se peut que tu ne trouves pas les éléments à la même place.

    Sinon, tu tapes le nom directement dans la zone nom au dessus de ta feuille.

    Il existe aussi des méthodes pour définir les noms directement sous VBA - mais je ne veux pas compliquer la chose.

    Bertrand

  3. #3
    Membre Expert

    Homme Profil pro
    Technicien Métrologie R&D
    Inscrit en
    Janvier 2007
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métrologie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Billets dans le blog
    1
    Par défaut
    il y a en français ( si comme moi tu as un niveau d'anglais qui flirte avec le zéro) une macro de Didier Fourgeot sur son site.

    La macro en version 5 est très bien expliquée dans le classeur exemple à télécharger et le code n'est pas protéger

Discussions similaires

  1. Réponses: 1
    Dernier message: 07/03/2012, 09h10
  2. Réponses: 3
    Dernier message: 14/07/2010, 23h19
  3. Réponses: 2
    Dernier message: 22/01/2008, 10h57
  4. Définir des variables sur le serveur avec PHP.
    Par ronio dans le forum Langage
    Réponses: 2
    Dernier message: 04/08/2006, 10h23
  5. Définir des variables
    Par rane dans le forum Langage
    Réponses: 11
    Dernier message: 10/05/2006, 19h02

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