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 :

variable


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 174
    Par défaut variable
    bonjour à tous,

    je rencontre un petit problème pour une de mes macros.
    voici le code:
    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
    Sub deltaz()
        Dim point As Integer
            point = Range("C11").Value
        Dim i As Integer
        Dim x As Integer
            x = 19
        Dim y As Integer
            y = 17
     
        Dim p As Single
            p = WorksheetFunction.pi 'permet d'utiliser le nombre pi
     
        For i = 1 To point + 2
            Cells(x, 11) = (Cells(x, 7) / Tan(Cells(x, 6) * (p / 200))) + Cells(y, 9) - Cells(y, 10)
            x = x + 1
            y = y + 2
     
        Next i
     
    End Sub
    le problème est que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Cells(19,11) = (Cells(19, 7) / Tan(Cells(19, 6) * (p / 200))) + Cells(17, 9) - Cells(17, 10)
     
    Cells(20,11) = (Cells(20, 7) / Tan(Cells(20, 6) * (p / 200))) + Cells(19, 9) - Cells(19, 10)
     
    Cells(21,11) = (Cells(21, 7) / Tan(Cells(21, 6) * (p / 200))) + Cells(19, 9) - Cells(19, 10)
    pour les cellules (20,11), et (21,11) je dois utiliser la même valeur de cellule.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Je suppose que la règle n'est pas valable uniquement pour les lignes 20 et 21 mais qu'elle se répète.

    Autrement dit par série de 3 :

    -1er passage : x = x + 1
    y = y + 2
    -2ème passage : idem

    -3ème passage : x = x + 1 (uniquement)

    Si c'est le cas on peut envisager :

    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
    Sub deltaz()
     
        Dim point As Integer
            point = Range("C11").Value
        Dim i As Integer
        Dim x As Integer
            x = 19
        Dim y As Integer
            y = 17
        Dim cpt as Byte
            cpt = 0
     
     
     
        Dim p As Single
            p = WorksheetFunction.pi 'permet d'utiliser le nombre pi
     
        For i = 1 To point + 2
            cpt = cpt + 1
              if cpt < 3
              x = x + 1
              y = y + 2
              else
              cpt = 0
              x = x + 1
              end if
     
       Cells(x, 11) = (Cells(x, 7) / Tan(Cells(x, 6) * (p / 200))) + Cells(y, 9) - Cells(y, 10)
     
        Next i
     
    End Sub
    A tester en pas-à-pas pour vérifier que l'incrémentation et la réinitialisation de la variable "cpt" est bien placée.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/07/2002, 13h32
  2. variables locales ou globales ???
    Par elvivo dans le forum C
    Réponses: 13
    Dernier message: 03/07/2002, 08h22
  3. Procédure avec un nombre variable d'arguments
    Par charly dans le forum Langage
    Réponses: 15
    Dernier message: 21/06/2002, 11h08
  4. Réponses: 4
    Dernier message: 05/06/2002, 14h35
  5. les variables globales static
    Par gRRosminet dans le forum C
    Réponses: 8
    Dernier message: 27/04/2002, 08h34

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