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 :

Sélectionner une plage puis la mettre dans une formule excel


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Sélectionner une plage puis la mettre dans une formule excel
    Bonjour,

    Je vous sollicite car je voudrais faire un script simple en VBA.

    Fonctionnement désiré du script :
    Une boite de texte type InputBox demande à l'utilisateur de sélectionner une plage de cellules.
    Une fois sélectionnée, je voudrais que dans une cellule dans excel s'affiche le résultat de l'opération suivante :
    =(derniere_ligne-premiere_ligne)/(LIGNE(derniere_ligne)-LIGNE(premiere_ligne))

    Le code que j'ai actuellement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub Mon_script
     Dim xP As Range
     
        On Error Resume Next
        Set P = Application.InputBox("Sélectionnez une cellule ou une plage :", Type:=8)
        On Error GoTo 0
        If P Is Nothing Then MsgBox "Sélection annulée"
     
        MsgBox (P)
    End Sub
    Résultat :
    J'ai donc bien la fenêtre InputBox qui s'affiche pour demander à l'utilisateur de sélectionner une plage mais j'ignore ensuite comment la passer dans une formule sous Excel.

    Si qqn a une idée, je suis preneur.

    D'avance, merci.

  2. #2
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub Mon_script()
    Dim P As Range
    Set P = Application.InputBox("Sélectionnez une cellule ou une plage :", Type:=8)
    Total = P.rows.count
    debut = P.row
    fin = debut + Total - 1
    colonne = P.column
    calcul = (cells(fin, colonne) - cells(debut, colonne)) / (fin - debut)
    msgBox (calcul)
    End Sub
    Devrait gazer, il te suffit de mettre ton calcul ou tu veux

  3. #3
    Invité
    Invité(e)
    Par défaut
    Peux tu préciser ce que tu entends par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    derniere_ligne-premiere_ligne
    N° de ligne (auquel cas ça fera toujours 1 dans ta formule), valeur de la cellule (mais alors dans quelle colonne), ...

  4. #4
    Membre expérimenté
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2013
    Messages
    885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 885
    Points : 1 499
    Points
    1 499
    Par défaut selectionner une plage
    bonjour,

    même chose que Engue Engue dans une formulation sans doute moins heureuse.
    a adapter le bout de code uniquement destiné à un essai.

    attention: si j'ai bien compris la formule, tu ne peux proposer la selection d'une seule cellule sinon division par 0.

    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
     
    Sub Mon_script()
    Dim P As Range
     
    On Error Resume Next
    Set P = Application.InputBox("Sélectionnez une cellule ou une plage :", Type:=8)
    For Each c In P
        i = i + 1
        Cells(1, 4) = c.Row
     
        If i = 1 Then
          val1 = c.Value
          num1 = c.Row
        End If
        valder = c.Value
        numder = c.Row
     
    Next
    Cells(1, 4) = val1
    Cells(2, 4) = num1
    Cells(3, 4) = valder
    Cells(4, 4) = numder
     
    Cells(6, 4) = (valder - val1) / (numder - num1)
     
    End Sub
    Cordialement.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    wow, double merci pour à la fois votre rapidité et votre efficacité !

    ça marche parfaitement !

    merci à vous !!

  6. #6
    Membre expérimenté
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2013
    Messages
    885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 885
    Points : 1 499
    Points
    1 499
    Par défaut selectionner une plage
    Bonjour,

    N'oublie pas de mettre résolu et peut-être de mettre ta solution finale afin qu'elle profite éventuellement à d'autres.
    Ce sera aussi pour nous l'occasion de voir si nous avions bien compris ta demande concernant la formule bizarre.

    cordialement.

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    j’arrive bien tard mais pour info:
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. [XL-2007] Recherche d'un nom dans une plage puis renvoi
    Par BuzzZorg dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 17/01/2014, 05h18
  2. [XL-2010] Trier des valeurs dans une feuille et les mettre dans une autre feuille
    Par maharo1 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 19/12/2011, 15h02
  3. Réponses: 4
    Dernier message: 05/05/2011, 13h46
  4. Réponses: 3
    Dernier message: 13/12/2009, 17h04
  5. Réponses: 1
    Dernier message: 15/04/2008, 20h23

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