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 :

Min et max avec plage variable


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2015
    Messages : 43
    Par défaut Min et max avec plage variable
    Bonjour,

    Je coince à une macro, je n'arrive pas à faire min et max avec une plage variable.

    J'ai plusieurs variable qui décide du nombre de colonnes et lignes.
    Voici un exemple de ce que j'essaye de faire.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(8, c + 2).Value = Application.WorksheetFunction.Min(Cells(d-a,c),Cells(d,c)) 'la plage va de la cellule (d-a,c) à la cellule (d,c)
    Les cellules d, c et a sont variables. J'ai vu quelques exemples avec des variables mais pas lorsqu'il y a des soustractions avec les variables

    Si éventuellement c'est possible j'aimerai aussi mettre la formule dans la case avec ActiveCell.Formula mais ça me semble compliqué avec des variables ?

    J'espère être compréhensible.
    En vous remerciant.
    Cordialement.

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour,

    pas clair : « je n'arrive pas » oui mais encore ?!

    Les variables d & a doivent représenter des lignes et évidemment d doit être strictement supérieur à a, à vérifier …

    La logique voudrait déjà de paramétrer la formule manuellement dans une cellule d'Excel
    et une fois opérationnelle, c'est d'un facile pour la passer côté VBA !

    _________________________________________________________________________________________________________
    Je suis Paris, Charlie, Bruxelles, …

  3. #3
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2015
    Messages : 43
    Par défaut
    La formule est dans une boucle while, cells(d-a) est toujours plus grand que 0.

    Pour être plus clair, je voudrais déjà savoir si la syntaxe que j'ai utilisé est la bonne en utilisant les variables ? Et si la réponse est non alors quelle est la bonne syntaxe?

    Je ne peux la mettre manuellement car la macro servira pour un grand nombre de fichier ou d, a et c changent à chaque fois.

    En vous remerciant.

  4. #4
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 683
    Par défaut
    Bonjour,

    Là tu demande le min de deux cellules, pas d'une plage

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(8, c + 2).Value = Application.WorksheetFunction.Min(range(Cells(d-a,c),Cells(d,c))) 'la plage va de la cellule (d-a,c) à la cellule (d,c)

  5. #5
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2015
    Messages : 43
    Par défaut
    Tout simplement, j'avais tournée autour mais j'avais des messages d'erreur.

    Merci !

  6. #6
    Membre chevronné Avatar de Kiouane
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2016
    Messages : 198
    Par défaut
    Tu peux nous expliquer c'était quoi ton erreur et la solution associée?

  7. #7
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2015
    Messages : 43
    Par défaut
    Mon erreur venait que je n'avais pas mis range et lorsque j'ai essayé de le mettre j'ai pas mis la bonne syntaxe.

    La solution ci-dessous a marché parfaitement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(8, c + 2).Value = Application.WorksheetFunction.Min(range(Cells(d-a,c),Cells(d,c))) 'la plage va de la cellule (d-a,c) à la cellule (d,c)
    Aller j'essaye de monter la difficulté , est ce qu'il est possible d'avoir le min d'une plage variable que des cellules qui sont en gras?

  8. #8
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 683
    Par défaut
    Citation Envoyé par Alex86 Voir le message
    Aller j'essaye de monter la difficulté , est ce qu'il est possible d'avoir le min d'une plage variable que des cellules qui sont en gras?
    Il n'y a pas de fonction min if en excel (a ma connaissance), mais avec un peu de recherche "excel min if" sur ton moteur de recherche favori, tu trouves des exemples notament avec des formules matricielles.
    Sinon en VBA tu pourrais passer par une varaible tableau (tuto dispo sur ce site) que tu remplirais avec les valeurs en gras, puis tu prend le min du tableau.
    Mais c'est déjà plus compliqué a faire.

  9. #9
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2015
    Messages : 43
    Par défaut
    J'ai oublié de préciser, je voudrais le faire en vba.
    Je cherchais du côté d'une boucle if dans min mais il n'y a pas de sujet dessus.
    Je vais regarder du côté de la variable tableau mais ça semble complexe effectivement...

  10. #10
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 683
    Par défaut
    Sinon sans passer par une variable tableau, mais en rajoutant une colonne, tu peux faire une boucle avec pour chaque cellule si gras je recopie la valeur sinon rien, puis prendre le min de cette nouvelle colonne

Discussions similaires

  1. MAX avec plage changeante
    Par ericdev67 dans le forum Excel
    Réponses: 8
    Dernier message: 06/10/2011, 12h03
  2. VBA - Graphique avec plage variable
    Par virstyle dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/06/2010, 12h48
  3. comparaison de 2 feuille avec plage variable
    Par oscar.cesar dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 02/04/2009, 22h49
  4. Création de validation de donnée avec plage variable
    Par Krovax dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 26/02/2009, 14h14
  5. Fonction "SOMME.SI" avec plage variable
    Par marc56 dans le forum Excel
    Réponses: 3
    Dernier message: 26/11/2008, 16h52

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