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 à résultat selon ordonnancement


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2022
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2022
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Boucle à résultat selon ordonnancement
    Bonjour,

    Je débute dans le langage VBA et si vous pouviez m'aider à traduire ces deux petits codes (test) ce serait génial :

    TEST 1

    'Deux feuilles dans le classeur: F1 et F2

    'J'aimerai afficher sur F2, cellule C3 le résultat suivant :

    résultat de F1 G104
    If F1 G104 est = à 0 ; résultat F1 G112
    If F1 G112 est = à 0 ; résultat F1 G111
    If F1 G111 est = à 0 ; résultat F1 G113
    ...

    'S'arrête quand l'un des résultat est > à 0
    End

    ------------------------------------
    TEST 2

    'Afficher sur F2 D3 le résultat suivant le choix si dessus:

    "SHOT" If F1 G104 est > 0
    Else
    "SPC" If F1 G112 est > 0
    Else
    "SHAB" If F1 G111 est > 0
    Else
    "nb logt" If F1 G113 est > 0



    J'ai essayé pour le TEST 1 avec ce qui suit :
    ----------------------------------
    TEST 1

    Sub test1()

    Dim Sheets("Feuil1") As Worksheet
    For Each cellule In Range ("G99:G113")

    If Cells (G104) > 0 ; Cells (G104)
    Else Cells (G104) = 0 ; Cells (G112)
    Else Cells (G112) = 0 ; Cells (G111)
    Else Cells (G111) = 0 ; Cells (G113)

    Exit For First Cells > 0


    End if Cells > 0


    Si vous avez des pistes pour m'aider je suis preneur.
    Merci d'avance

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 150
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 150
    Points : 1 683
    Points
    1 683
    Par défaut
    Salut,

    Commence par lire un bon tutoriel VBA, tu ne sembles pas avoir assimilé les bases.

    L'instruction Dim sert à déclarer une variable, elle doit être suivie d'un nom mais tu donnes une référence.
    Cells (G112): Cette instruction en fait rien par elle-même, voulais tu faire une assignation ?
    L'instruction Exit For a pour but de close une boucle For, et ne prend pas de condition.
    L'instruction End If ne prend pas de condition.

  3. #3
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 915
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 915
    Points : 5 125
    Points
    5 125
    Par défaut
    Bonjour
    la demande n'est pas claire

    TEST 1

    'Deux feuilles dans le classeur: F1 et F2

    'J'aimerai afficher sur F2, cellule C3 le résultat suivant :

    résultat de F1 G104
    If F1 G104 est = à 0 ; résultat F1 G112
    If F1 G112 est = à 0 ; résultat F1 G111
    If F1 G111 est = à 0 ; résultat F1 G113
    ...

    'S'arrête quand l'un des résultat est > à 0
    End
    résultat de f1 G104 : tu veux dire la somme de ces cellules??? ou bien tu fait la somme seulement s'il y a un "0" dans la colonne G dans ce cas tu fais la somme de colonne F???
    à mon un avis un capture écran des données de départ et tu explique la demande avec un exemple pour pouvoir t'aider
    nb : j'ai aimer ton pseudo : couscous.bio.nic
    --------------------------------------------------------------*****----------------------------------------------------------------------------
    Bonne Continuation & Plein Succès
    Notre seul pouvoir véritable consiste à aider autrui avec modestie
    ______________________________________________________
    Pour dire merci, cliquer sur et quand la discussion est résolue, penser à cliquer sur le bouton

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2022
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2022
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par BENNASR Voir le message
    Bonjour
    la demande n'est pas claire

    Bonjour tout le mundo !!

    résultat de f1 G104 : tu veux dire la somme de ces cellules??? ou bien tu fait la somme seulement s'il y a un "0" dans la colonne G dans ce cas tu fais la somme de colonne F??? Non, c'est faire un choix selon un ordonnancement (Si la case est égale à 0 on passe à la suivant, jusqu'à ce que l'une d'entre elles soit > à 0
    à mon un avis un capture écran des données de départ et tu explique la demande avec un exemple pour pouvoir t'aider Et voici pour vous chères camarades une magnifique capture d'écran avec pleins de notes héhéhé
    nb : j'ai aimer ton pseudo : couscous.bio.nic
    hahhahahaha merci j'ai choisi ce nom car un jour je suis tombé jaloux d'une "saucisse masquée" alors j'ai voulu un nom similaire voire mieux

    Nom : Capture.PNG
Affichages : 76
Taille : 315,5 Ko En espérant que cette capture fera l'affaire, je me remet à la recherche du code parfait !! Merci pour votre aide précieuse

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour Couscous.bio.nic

    La 1ère question que je poserai est : Pourquoi vouloir utiliser du VBA 🤔

    Excel sait faire tout plein de choses sans...

    A+

  6. #6
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 184
    Points : 5 516
    Points
    5 516
    Par défaut
    Bonjour,

    Oui, vraiment pourquoi passer par du code VBA alors qu'une simple formule peut le faire ? Si j'ai bien saisi la question:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    'en C3
    =SI(Opération!G104>0;Opération!G104;SI(Opération!G112>0;Opération!G112;SI(Opération!G111>0;Opération!G111;SI(Opération!G113>0;Opération!G113;"#"))))
    'en D3
    =SI(Opération!G104>0;"SHOT";SI(Opération!G112>0;"SPC";SI(Opération!G111>0;"SHAB";SI(Opération!G113>0;"Nb Logt";"#"))))
    Cordialement.

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2022
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2022
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par EricDgn Voir le message
    Bonjour,

    Oui, vraiment pourquoi passer par du code VBA alors qu'une simple formule peut le faire ? Si j'ai bien saisi la question:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    'en C3
    =SI(Opération!G104>0;Opération!G104;SI(Opération!G112>0;Opération!G112;SI(Opération!G111>0;Opération!G111;SI(Opération!G113>0;Opération!G113;"#"))))
    'en D3
    =SI(Opération!G104>0;"SHOT";SI(Opération!G112>0;"SPC";SI(Opération!G111>0;"SHAB";SI(Opération!G113>0;"Nb Logt";"#"))))
    Cordialement.

    Bonjour !!

    Yeah trop fort !! Merci

    Je vais quand même essayer de le faire via la VBA, ça me fera un bon entrainement mais tu m'as tout de même super bien avancé !! Merci mil fois

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 11/03/2008, 11h41
  2. [DATE] Afficher résultat selon le mois selectionner
    Par mickado dans le forum Langage SQL
    Réponses: 4
    Dernier message: 20/07/2007, 17h47
  3. Trier résultats selon un critère
    Par jersey_girl dans le forum Requêtes
    Réponses: 4
    Dernier message: 06/09/2006, 09h43
  4. Affichage d'un résultat selon requête dans formulaire avec date
    Par SMPGSARL dans le forum Requêtes et SQL.
    Réponses: 10
    Dernier message: 06/07/2006, 14h52
  5. [TRIE] Trier un résultat selon certains termes
    Par narmataru dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 04/07/2005, 18h42

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