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 :

Effectuer opération sur selection en 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
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 53
    Par défaut Effectuer opération sur selection en VBA
    Bonjour à tous,
    j'ai à un moment donné dans l’exécution de ma macro une Selection d'une colonne (contenant environ 500 cellules), je souhaite, dans certaines conditions, effectuer des opérations sur cette sélection (division de l'euro au k-euro et multiplication suivant des taux)
    Savez vous si c'est posssible ?

    Nom : Sans titre.png
Affichages : 932
Taille : 12,6 Ko

    Un exemple ici, je souhaite diviser l'ensemble de la plage selectionnée par 1000

    Merci d'avance !

  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
    Par défaut
    Tu peux inscrire 1000 dans une cellule, faire un copier de cette cellule, sélectionner ta plage et faire un collage spécial "Division".
    Avec l'enregistreur de macro, tu devrais avoir ce qu'il te faut...

  3. #3
    Membre confirmé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2016
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Août 2016
    Messages : 27
    Par défaut
    Bonjour,

    Tu peux aussi faire l'ensemble de tes opérations dans une boucle de type For Each ...Next basée sur ta sélection

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    For Each Cellule In Selection
        Cellule.Value = Cellule.Value / 1000 * Taux
    Next Cellule

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 53
    Par défaut
    Citation Envoyé par MarcClap Voir le message
    Bonjour,

    Tu peux aussi faire l'ensemble de tes opérations dans une boucle de type For Each ...Next basée sur ta sélection

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    For Each Cellule In Selection
        Cellule.Value = Cellule.Value / 1000 * Taux
    Next Cellule
    Excuse moi, je n'avais pas lu ta réponse. C'est exactement ce que j'attendais, merci beaucoup !

  5. #5
    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
    Citation Envoyé par StanSmooth Voir le message
    j'ai à un moment donné dans l’exécution de ma macro une Selection d'une colonne (contenant environ 500 cellules)
    En complément de la méthode proposée par MarcClap, je suis à peu près persuadé que la création d'une Selection est inutile et qu'il serait sans doute plus simple de même en paramètre du For Each la propriété parente de ton Select.

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 53
    Par défaut
    Citation Envoyé par Menhir Voir le message
    En complément de la méthode proposée par MarcClap, je suis à peu près persuadé que la création d'une Selection est inutile et qu'il serait sans doute plus simple de même en paramètre du For Each la propriété parente de ton Select.
    Ma plage est selectionné car copié-collée d'un autre fichier, je souhaitais donc "profiter" de cette selection pour faire ma manipulation (multiplication ou division)

  7. #7
    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
    Perso, plutôt que de créer une macro, je mettrai l'opération (somme toute assez simple) dans une cellule, copie vers le bas, puis un copier / coller valeur pour écraser le tout.

    Ou alors, si tu passes par une macro, autant en profiter pour qu'elle fasse aussi la copie des données sources.

  8. #8
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 53
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Ou alors, si tu passes par une macro, autant en profiter pour qu'elle fasse aussi la copie des données sources.
    C'est le cas ! Ma macro effectue la copie des données source et les colle dans mon fichier, c'est à cette étape de la macro que j'aurais souhaité effectuer ma division

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

Discussions similaires

  1. [VBA-E] Correction code opérations sur cellules
    Par anisr dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/03/2007, 21h52
  2. [VBA-E] Encore opération sur fichier txt
    Par anisr dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 10/03/2007, 12h43
  3. [VBA-E] Parcourir un repertoir et opérations sur fichiers xls
    Par anisr dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 08/03/2007, 16h48
  4. [VBA-E] Error 91 sur selection de sheet
    Par Capsule dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 22/02/2007, 22h52
  5. effectuer une opération sur chaque ligne d'un select
    Par Mindiell dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 20/12/2006, 12h23

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