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 :

Prendre des données dans un tableau avec VBA [XL-2013]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Prendre des données dans un tableau avec VBA
    Bonjour à tous, je précise d'abord que je débute en VBA et qu'il y a certains points où j'aurais besoin d'aide.

    J'ai ma feuille de calcul classique sur excel avec mon tableau où j'effectue des calculs de base ! Dans ce tableau j'ai :

    - 5 fréquences différentes
    - une valeur mesurée pour chaque fréquence
    - une valeur de référence pour chaque fréquence

    J'aimerais savoir comment déclaré ce tableau (5 lignes et 3 colonnes) dans VBA pour ensuite faire une boucle de calcul, je bloque sur la partie déclaration donc je ne peux pas savoir si le reste est correct.

    En espérant avoir été assez clair.

    Merci d'avance pour votre aide

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Points : 5 901
    Points
    5 901
    Par défaut
    Bonjour,

    D'après ce que je comprends, ceci pourrait te donner une piste de départ
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        Dim I As Long, J As Long
        Dim MonTableau As Variant
     
        MonTableau = Range("A2:C6").Value  'en présumant que les données se trouvent dans cette plage
        For I = 1 To UBound(MonTableau)
            For J = 1 To 3
                Debug.Print MonTableau(I, J)  'imprime les résultats dans la fenêtre Exécution
            Next
        Next

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Merci de ta réponse parmi

    Je vous met le lien de mon tableau pour mieux comprendre.


    Je dois donc déclarer mes fréquences, mes valeurs corrigées et mes valeurs références.

    Le but de ma manœuvre est de faire une boucle en retirant 1 point à chaque valeur de référence pour s'approcher le plus près possible des valeurs corrigées.
    Arrêt de la boucle quand la somme des écarts est <= 10 !!!

    J'ai eu l'habitude faire des petites macros simplistes durant mes cours mais j'avoue que la ça me parait bien plus complexe et même en écrivant mes calculs sur papier j'ai du mal a voir d'où je dois partir.

    Pas simple de débuter :/
    Fichiers attachés Fichiers attachés

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Points : 5 901
    Points
    5 901
    Par défaut
    Est-ce nécessaire de passer par un tableau ?
    Je ne suis pas certain de tout bien comprendre, mais est-ce que ce petit bout de code fait ce que tu veux ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        Dim I As Long
        Dim Fini As Boolean
     
        Do Until Fini = True
            For I = 3 To 7
                Range("D" & I) = Range("D" & I) - 1   'réduit de 1 chaque valeur en D
            Next
            If Range("G3") <= 10 Then Fini = True   'si G3 <= 10 on sort
        Loop

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Merci parmi c'est exactement ce dont j'avais besoin vraiment merci beaucoup

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

Discussions similaires

  1. [XL-2013] Remplacer des données dans un tableau avec une formule
    Par capnice dans le forum Excel
    Réponses: 7
    Dernier message: 23/05/2015, 22h12
  2. [XL-2010] Compilation de données dans un tableau avec VBA
    Par Frr80 dans le forum Excel
    Réponses: 7
    Dernier message: 12/12/2014, 09h30
  3. Modifier des données dans un tableau avec un userform
    Par sebastien-16600 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/03/2013, 21h23
  4. ajouter et supprimer des données dans un tcd avec vba
    Par pscoool dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 09/12/2009, 18h14
  5. [MySQL] affichage des données dans un tableau avec mysql et php
    Par fofina dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 19/10/2007, 14h00

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