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 :

boucle et utilisation de la fonction "ln"


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
    Étudiant
    Inscrit en
    Août 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 84
    Par défaut boucle et utilisation de la fonction "ln"
    Salut !

    Je débute en vba et j'ai vraiment du mal à comprendre comment on utilise les fonctions predefinies de excel.
    Je voudrais faire une boucle qui calcule le logarithme d'un quotient 1 colonne avec une constante, c'est pas tres complique en soit....mais je n y arrive pas.
    Pourtout, j'arrive bien à calculer le quotient de 2 colonnes, mais des que j'introduis le "ln", ca pose probleme. J'ai l impression que le offset pose probleme ainsi que les references absolues.
    Voilà mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For i = 1 To Range("B1").Value Step 1
     
        Range("I7").Offset(i-1).Formula = "=LN(Range("H7").Offset(i-1) / UserForm1.Gage.Text)"
     
    Next i

    Autre question:

    Je voudrais mettre le resultat de la fonction "count" (qui retourne le nombre de cellule comprenant un nombre dans la plage indiquee). Idem je n'y arrive pas. Je defini un entier dans lequel je met le resultat de count:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim nb as integer
    nb = count(F:F)
    Est ce que c est possible de faire cela, ou est ce qu on doit obligatoirement mettre le resultat dans une cellule ?

    Voilà, merci de votre aide !

    Désolé c est pas des questions de haut niveau, mais là je bloque vraiment.

    Y a t il un endroit où il est expliquer comment se servir des fonctions predefinies ? J ai vraiment quasiment rien trouvé là dessus.
    Je prefere aussi travailler en coordonnes absolues par ce que les feuilles de calculs fonctionneent comme ça à la base, mais peut être que ce n'est pas une bonne idee ??

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 514
    Par défaut
    Bonsoir,

    Les fonctions de feuilles de calcul sont disponibles dans les macros via l'objet WorksheetFunction.

    Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    dim nb as integer
    nb = WorksheetFunction.Count(Range("F:F"))
    Pour ta premiere question,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Range("I7").Offset(i-1).Formula = "=LN(Range("H7").Offset(i-1) / UserForm1.Gage.Text)"
    Ca ne peut pas fonctionner car cela revient à inscrire dans une cellule une formule incluant des instructions VBA et non ce que renvoient les dites instructions.

    Essaye de la modifier ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Range("I7").Offset(i-1).Formula = _
    "=LN(" & Range("H7").Offset(i-1).Address & "/" & UserForm1.Gage.Text & ")"
    Une méthode éprouvé pour la transcription des formules dans le code VBA est d'utiliser l'enregistreur de macro. Tu le lance, tu saisis ta formule dans une cellule et tu te sers du code généré pour construire une chaine de caractere avec les variables dont tu as besoin.

    Quant aux systemes de références absolues/relatif aucun n'est meilleur que l'autre. Ils sont justes complémentaires et permettent de s'adapter aux besoins du moment.

    Cordialement,

    Tirex28/

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Août 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 84
    Par défaut
    Ok ! merci !
    je comprend mieux.
    Une question néanmoins :
    à quoi sert le .Adresse ?

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 514
    Par défaut
    Bonjour,

    Sert à renvoyer la référence de la cellule plutot que sa valeur, mais j'ai peut etre mal compris ce que tu cherche a faire.

    Cordialement,

    Tirex28/

Discussions similaires

  1. [XL-2010] Utilisation de la Fonction DIR dans une double boucle
    Par Bruno92320 dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 16/12/2014, 19h31
  2. Réponses: 3
    Dernier message: 20/02/2014, 15h57
  3. Réponses: 11
    Dernier message: 18/02/2007, 23h20

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