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 :

demande d'une Information


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 157
    Par défaut demande d'une Information
    Bonjour,

    Etant débutant sous vba, j'ai pour mission d'améliorer un code vba cependant lors de sa relecture certaines lignes furent plus compliquées à comprendre, je me tourne donc ici dans l'espoir que vous puissiez apporter une réponse à mon problème.

    - Que signifie les '.' en début de ligne? Que permettent-ils d'accomplir?
    - Qu'est ce que ce "StartShade" ? Au début je pensais que c'était le nom d'une variable mais après quelques recherches, ce n'était visiblement pas le cas.
    - On remarque un type de variable "ByVal" or je n'ai pas cerné sa particularité, qu'elle est-elle d'après vous?


    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    Public Function TableVertRange(Ra As Range, Optional R As Integer = 240, Optional G As Integer = 240, Optional B As Integer = 240, Optional StartShade As Integer = 1, Optional VertBord As Boolean = True) As Integer
        StartShade = (StartShade + 1) Mod 2 'si on fait deux tableaux à la suite, la couleur de départ de celui ci est l'inverse de la couleur de fin du précédent
        With Ra
            .Borders(xlDiagonalDown).LineStyle = xlNone
            .Borders(xlDiagonalUp).LineStyle = xlNone
            With .Borders(xlEdgeTop)
            End With
            With .Borders(xlEdgeBottom)
            End With
            With .Borders(xlEdgeLeft)
                If VertBord Then
                    .LineStyle = xlContinuous
                    .color = RGB(255, 255, 255)
                    .TintAndShade = 0
                    .weight = xlMedium
                Else
                    .LineStyle = xlNone
                End If
            End With
            With .Borders(xlEdgeRight)
                If VertBord Then
                    .LineStyle = xlContinuous
                    .color = RGB(255, 255, 255)
                    .TintAndShade = 0
                    .weight = xlMedium
                Else
                    .LineStyle = xlNone
                End If
            End With
            With .Borders(xlInsideVertical)
                If VertBord Then
                    .LineStyle = xlContinuous
                    .color = RGB(255, 255, 255)
                    .TintAndShade = 0
                    .weight = xlMedium
                Else
                    .LineStyle = xlNone
                End If
            End With
            .Borders(xlInsideHorizontal).LineStyle = xlNone
     
            'For Ro = .Row To .Row + .Rows.Count - 1
            For Ro = 1 To .Rows.Count
                Dim alpha As Double
                'alpha = 1 - ((Ro - .Row + StartShade) Mod 2) * 0.05
                alpha = 1 - ((Ro - 1 + StartShade) Mod 2) * 0.05
                'Call ColorRange(Range(Cells(Ro, c1.Column), Cells(Ro, c2.Column)), RGB(R * alpha, G * alpha, B * alpha))
                'Call ColorRange(.Worksheet.Range(Cells(Ro, .Column), Cells(Ro, .Column + .Columns.Count - 1)), RGB(R * alpha, G * alpha, B * alpha))
                Call ColorRange(.Rows(Ro), RGB(R * alpha, G * alpha, B * alpha))
            Next Ro
            TableVertRange = (.Rows.Count - 1 + StartShade) Mod 2
        End With
    End Function
    Merci d'avance pour vos réponses,

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 175
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    je suis en train de repondre un programme déjà fait pour ajouter des autres fonctions et amélioré, dans le code je trouve cette fonction
    ?????
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Commence par faire du ménage
    Je vois par exemple deux blocs With présents sans aucune instruction

    EDIT : ouvre déjà ton aide interne VBA à la rubrique Utilisation d'instructions With

    et tu auras dans la foulée réponse à une de tes questions.

  4. #4
    Membre Expert
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Par défaut
    bonjour,

    une autre de tes réponses se trouve dans la Faq, il suffit d'une petite recherche :
    IV. La différence entre ByRef et ByVal
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

  5. #5
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par ghazalinadou Voir le message
    - Que signifie les '.' en début de ligne? Que permettent-ils d'accomplir?
    https://msdn.microsoft.com/fr-fr/lib.../gg264723.aspx

    - Qu'est ce que ce "StartShade" ? Au début je pensais que c'était le nom d'une variable mais après quelques recherches, ce n'était visiblement pas le cas.
    Il s'agit de l'un des paramètres (optionel) de cette fonction personnalisée.
    Regarde le contenu de la ligne précédente de ta macro.

    - On remarque un type de variable "ByVal" or je n'ai pas cerné sa particularité, qu'elle est-elle d'après vous?
    https://msdn.microsoft.com/fr-fr/lib.../gg264233.aspx
    Dans la partie "l’argument arglist".

Discussions similaires

  1. Demande d'une information
    Par ASSI Crépin dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 20/02/2012, 16h39
  2. Afficher une information pour la saisie d'un formulaire
    Par Laffont Roselyne dans le forum Access
    Réponses: 1
    Dernier message: 08/11/2005, 14h57
  3. [Info]Besoin d'une information
    Par patricetoan dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 30/04/2005, 00h29

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