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 :

[debutant] utiliser une macro dans une nouvelle macro


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 174
    Points : 53
    Points
    53
    Par défaut [debutant] utiliser une macro dans une nouvelle macro
    bonjour

    je voudrais savoir comment utiliser une macro dans une autre macro.
    je m'explique:

    je voudrais faire un calcul reprenant plusieurs cellules mais avec une boucles, 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
    21
    22
    23
    24
    Sub deltaz()
        Dim point As Integer
        point = Range("C11").Value
        Dim i As Integer
        Dim x As Integer
        x = 19
        Dim a As Single
        For i = 1 To point
        a = Cells(x, 6)
        Dim d As Single
        d = Cells(x, 7)
        For i = 1 To point
        a = Cells(x, 6)
        Dim hst As Single
        hst = Cells(11, 6)
        Dim hv As Single
        hv = Cells(11, 8)
        Dim p As Single
        p = WorksheetFunction.pi 'permet d'utiliser le nombre pi
     
    For i = 1 To point
    Cells(x, 9) = (d / Tan(a * (p / 200))) + hst - hv
     
    End Sub
    mais je ne sais pas comment intégrer une boucle dans une déclaration de variable.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 174
    Points : 53
    Points
    53
    Par défaut
    une autre petite question

    quel code doit on utiliser pour qu'un bouton efface des donnée de cellules.

    pour quitter c'est : Application.Quit

    mais pour effacer je ne sais pas: Application.efface ???

  3. #3
    Membre éprouvé
    Avatar de Montor
    Homme Profil pro
    Autre
    Inscrit en
    Avril 2008
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 879
    Points : 963
    Points
    963
    Par défaut
    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     Sub macro1()
    'Ta1ereMacro
    Call macro2(4, 7) 'APPEL
    End Sub
    Sub macro2(ARG1, ARG2)
    'Ta2emeMacro
    Cells(1, 1) = ARG1 + ARG2
    End Sub
    essaie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Cells(1, 1).ClearContents
        Range("A1").ClearContents
        Cells(1, 1) = ""

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 174
    Points : 53
    Points
    53
    Par défaut
    je ne peux pas utiliser ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim Cel As Range, x As String
     
    For Each Cel In Range("A17,A19,A21,A23,B17,B19,B21,B23,C11,C17,C19,C21,F11,H11,F19:G24,M17,N17,O17")
    mais alors maintenant comment intégrer ClearContents

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 174
    Points : 53
    Points
    53
    Par défaut
    je ne comprends pas pour insérer une macro

  6. #6
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Bonsoir,

    Ca part dans tous les sens là...
    Que veux-tu dire par "mais je ne sais pas comment intégrer une boucle dans une déclaration de variable" ?

    et par "je ne peux pas utiliser ceci mais alors maintenant comment intégrer ClearContents" ?

    Pour commencer, tu devrais essayer dans tes codes, de prendre l'habitude de déclarer toutes tes variables en début de code et pas plic ploc durant le déroulement du code, ce qui faciliterait la lecture.
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  7. #7
    Membre éprouvé
    Avatar de Montor
    Homme Profil pro
    Autre
    Inscrit en
    Avril 2008
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 879
    Points : 963
    Points
    963
    Par défaut
    Bonsoir
    Pour répondre avotre question
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     Dim Cel As Range
        For Each Cel In Range("A17,A19,A21,A23,B17,B19,B21,B23,C11,C17,C19,C21,F11,H11,F19:G24,M17,N17,O17")
           Cel.ClearContents
        Next Cel
    Pour utiliser une boucle il y a deux mot clé "For ....Next " le code entre ces deux mot qui sera repeter
    Simple boucle
    remplit les cellule de "A1" au "A9"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     Dim conter As Integer
    '---------debut -boucle-------
    For conter = 1 To 9
    Cells(conter, 1) = conter
    Next conter' le code entre "For conter" et "Next conter" sera repeter 10 fois
    '------fin boucle-------------------
    Il y a autre example dans le fichier

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

Discussions similaires

  1. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  2. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 19h05
  3. [POO] dans une classe, appeler une fonction dans une méthode
    Par arnaudperfect dans le forum Langage
    Réponses: 3
    Dernier message: 26/08/2007, 23h04
  4. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 10h13
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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