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 :

Macro mettre une formule dans cellule si condition remplie dans une autre colonne


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Consultant en finance de marché
    Inscrit en
    Janvier 2017
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant en finance de marché

    Informations forums :
    Inscription : Janvier 2017
    Messages : 40
    Points : 20
    Points
    20
    Par défaut Macro mettre une formule dans cellule si condition remplie dans une autre colonne
    Bonjour,

    je cherche à réaliser une macro qui va vérifier pour chaque ligne dans la colonne B si le mot bonbon existe par exemple.

    Si tel est le cas, implémenter dans la colonne L une formule IF qui, elle, vérifiera une information conditionnelle dans la colonne Y.

    Le tout sur plusieurs centaines voire milliers de lignes.

    J'avais pensé à un code de ce genre (très incomplet) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim Lig     As Long
    Dim Col     As String
    Dim NbrLig  As Long
    Dim NumLig As Long
     
    Col = "B"
    NumLig = 1
    NbrLig = .Cells(65536, Col).End(xlUp).Row
    For Lig = 1 To NbrLig
     
    If .Cells(Lig, Col).Value = "BonBon" Then
    Je ne sais pas si ce début de code est correct, et après, j'aimerais qu'il vienne donc me copier le code =IF(Y2<0;"Short";"Long") dans la colonne L si BonBon et bien présent dans la colonne B.
    Mais la je sèche, ou je ne vois pas comment faire.

    Si qq'un a une idée, je prends, et si je n'ai pas été clair, n'hésitez pas à me revenir.

    Cordialement

  2. #2
    Expert éminent sénior
    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
    Points : 18 677
    Points
    18 677
    Par défaut

    Bonjour,

    pourquoi ne pas utiliser une simple formule de calculs au lieu d'une usine en VBA ?!

    _________________________________________________________________________________________________________
    Je suis Paris, Istanbul, Berlin, Nice, Bruxelles, Charlie, …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  3. #3
    Membre à l'essai
    Homme Profil pro
    Consultant en finance de marché
    Inscrit en
    Janvier 2017
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant en finance de marché

    Informations forums :
    Inscription : Janvier 2017
    Messages : 40
    Points : 20
    Points
    20
    Par défaut
    Bonjour Marc,

    j'essaie d'automatiser au maximum un processus laborieux, et même pour cette partie le code VBA me semblait être le plus efficient.
    De même j'aurais préféré éviter le maximum de manipulations humaines sur ce fichier pour éviter les erreurs de tri ou d'inattention.

    Dans les faits je pourrais clairement mettre un filtre sur la colonne B puis appliquer ma formule déjà correcte sur la colonne L et la dérouler jusqu'au bout.

    A moins que tu me parles d'une autre solution ?

  4. #4
    Expert éminent sénior
    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
    Points : 18 677
    Points
    18 677
    Par défaut

    Un débutant a moins de mal à utiliser une formule de calculs et ce même en VBA,
    le code en est réduit à peu de lignes sans risque d'errer vers une usine à gaz …

    De plus ici s'agissant d'une formule de calculs sur une colonne il n'y a donc même pas besoin de boucle !

    Enfin en indiquant clairement le but recherché et la formule entrée manuellement et fonctionnant dans une cellule …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  5. #5
    Membre à l'essai
    Homme Profil pro
    Consultant en finance de marché
    Inscrit en
    Janvier 2017
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant en finance de marché

    Informations forums :
    Inscription : Janvier 2017
    Messages : 40
    Points : 20
    Points
    20
    Par défaut
    Hello,

    Peut-être est-ce dû à mon statut de débutant mais je ne vois pas bien le rapport avec une usine à gaz. Si le processus est possible à faire avec moins de lignes de code je suis preneur.

    Tout mon fichier est désormais sous macro et tout fonctionne parfaitement, j'ai simplement envie d'automatiser cette étape afin qu'aucune intervention manuelle ne se fasse et que je n'ai pas besoin de scinder ma macro en deux avec une utilisation manuelle entre. Cela me semble plus logique et cohérent.

  6. #6
    Expert éminent sénior
    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
    Points : 18 677
    Points
    18 677
    Par défaut


    Aucun rapport avec mon message précédent !

    A bien lire donc …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

Discussions similaires

  1. [XL-2013] Ma fonction fonctionne en macro lorsque je teste, mais pas dans une formule de cellule
    Par bambi42 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/11/2016, 14h18
  2. Pbm pour empêcher la saisie dans une cellule où il y a une formule
    Par doremifaso dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 25/06/2008, 13h51
  3. Réponses: 3
    Dernier message: 20/06/2008, 10h57
  4. Réponses: 5
    Dernier message: 08/12/2007, 12h59
  5. concaténation en vba dans une formule de cellule Excel
    Par kernel57 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 04/12/2005, 22h58

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