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 :

Remplir un tableau excel avec programme VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2017
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2017
    Messages : 17
    Par défaut Remplir un tableau excel avec programme VBA
    Bonjour,

    Comme le titre l'indique, je cherche à remplir un tableau (avec un programme VBA) à partir de deux valeurs (contenue dans deux cellules). Par un calcul (logique floue), ces deux valeurs me donnent un résultat qui s'affiche dans une troisième cellule.
    Pour me permettre de remplir ce tableau (en automatique bien sûr), mes deux premières valeurs s'incrémentent (de 1 à 10 pour le première et de 0 à 10 avec un STEP de 0.5 pour la seconde.
    J'ai essayé plusieurs choses, mais en vain. Si quelqu'un pouvait m'aider, ce serait super cool.
    Pour info, je suis complètement débutant en programmation. J'ai malgré tout compris comment fonctionnent les boucles (car j'en ai besoin dans ce cas).

    Je remercie d'avance les personnes qui pourront m’aider.

    Mika745

  2. #2
    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
    Pas besoin de VBA pour ça.

    En supposant que tes données commencent en ligne 1, tu mets 1 et 0 dans A1 et B1.
    En A2, tu mets la formule :
    En B2, tu mets la formule :
    Tu copies A1:B1 vers le bas autant que nécessaire.

  3. #3
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2017
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2017
    Messages : 17
    Par défaut
    Merci de ta réponse, mais je ne sais pas si je me suis fait comprendre avec ma question (surement pas assez clair!!) Donc je reformule:

    - j'ai un cellule A1 et une cellule A2
    - un calcul entre A1 et A2 me donne un résultat dans la cellule A3

    A partir de ça, je veux créer un tableau avec les valeurs que le cellule 3 me retourne, et faisant varier A1 et A2 avec un pas défini

    ex:
    --> A1=1 puis A2=1 donc A3=une valeur 1
    --> A1=1 puis A2=2 donc A3=une valeur 2
    --> A1=1 puis A2=3 donc A3=une valeur 3
    --> A1=2 puis A2=1 donc A3=une valeur 4
    --> A1=2 puis A2=2 donc A3=une valeur 5

    c'est avec les valeurs 1,2,3,3,.... que je veux alimenter mon tableau

    (au final je ne sais pas si je suis plus clair!!)

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Par défaut
    Bonjour,

    un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub boucle()
        Dim i As Long, j As Single, k As Long, result(1 To 210, 1 To 3) As Double
        For i = 1 To 10
            For j = 0 To 10 Step 0.5
                ' écriture
                [A1] = i: [A2] = j
                'lecture
                k = k + 1
                result(k, 1) = i: result(k, 2) = j: result(k, 3) = [A3].Value
            Next j
        Next i
        ' Coller
        [E2].Resize(210, 3) = result
    End Sub
    Cependant tu ne dis pas comment est remplie A3.
    Si c'est par formule assez lourde elle risque d'être lue avant d'être évaluée. Tu dis...
    eric

  5. #5
    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
    Quel est l'intérêt (je ne le vois vraiment pas) d'utiliser 3 cellules et (je le suppose) une formule ? ces cellules seront constamment modifiées et n'auront chacune qu'une seule valeur in fine ...
    On connaît la dimension à donner à la matrice M d'accueil.
    Il suffit dès lors d'une double boucle (for i, for j), d'une fonction "calcul_flou" à laquelle on envoie les paramètres i et j et qui retourne une valeur v dont on alimente l'index k (incrémenté de 1 à chaque itération) de la matrice M
    Non ?

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Par défaut
    C'est vrai que si le calcul est fait par une fonction vba autant se passer de transiter par la feuille.

Discussions similaires

  1. [Toutes versions] Ajouter une ligne en fin de tableau excel avec une vba
    Par Gordongekko dans le forum Macros et VBA Excel
    Réponses: 24
    Dernier message: 23/04/2017, 12h09
  2. [XL-2016] Ajouter une ligne en fin de tableau excel avec une vba
    Par Karkan dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/01/2017, 15h06
  3. Réponses: 6
    Dernier message: 10/03/2011, 09h37
  4. Réponses: 2
    Dernier message: 19/03/2008, 10h30
  5. [VBA-E] Construction d'un tableau EXCEL avec VBA
    Par oliver75 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 02/05/2007, 07h35

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