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 :

formule if et find


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 165
    Par défaut formule if et find
    Bonjour,

    Après plusieurs recherche sur le Forum, je ne parvenis pas à trouver la réponse à ma question.

    J'ai un workbook avec deux sheets excel, l'une contenant un tableau et l'autre un rapport texte automatique.

    Dans ce tableau se trouve des totaux (USD TOTAL, EUR TOTAL, GBP TOTAL,ETC)
    Note : Les devises n'apparaissent pas toujours. (Parfois il n'y pas de GBP par exemple, donc pas de mot "GBP TOTAL")


    Je voudrai créer dans le rapport à base d'une formule excel, une macro capable de dire si il y a oui ou non un TOTAL USD, un TOTAL GBP etc....

    Exemple : Si il y a le texte "GBP TOTAL" dans la sheet tableau, il inscrit dans la sheet rapport Situation GBP :

    En revanche si il n'y aurait de GBP TOTAL, je voudrai qu'il laisse un blanc.

    Les formules, (if et find) ne fonctionnent pas ensemble. Comment s'y prendre ?

    Merci d'avance pour votre aide

  2. #2
    Membre chevronné Avatar de Bear the french
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations forums :
    Inscription : Mai 2012
    Messages : 352
    Par défaut
    Bonsoir korni184,

    Peux tu nous en dire plus sur ton onglet (sheets) "tableau" ? Comment il se présente ? En lignes ou en colonnes ? Est ce qu'il peut y avoir plusieurs fois USD TOTAL par exemple ? Ou une seule fois en total d'une colonne ?
    Est ce le calcul que tu veux reporter ou l'intitulé ?

    Bref, un modèle simplifié de ton fichier faciliterai la compréhension.

    Bertrand

  3. #3
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Bonjour,

    Les formules, (if et find) ne fonctionnent pas ensemble. Comment s'y prendre ?
    Dans l’exemple suivant, on recherche le texte "GBP TOTAL" dans la plage A2:A500 de la feuille "tableau".
    Si le texte est présent, on copie le texte "Situation GBP : " dans la cellule A1 de la feuille "rapport".
    Dans le cas contraire, on vide la cellule A1.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub Test()
    Dim C As Range
    With Worksheets("tableau").Range("A2:A500")
        Set C = .Find("GBP TOTAL", LookIn:=xlValues)
        If Not C Is Nothing Then
            Worksheets("rapport").Range("A1") = "Situation GBP : "
        Else
            Worksheets("rapport").Range("A1") = ""
        End If
    End With
    End Sub
    Cordialement.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 165
    Par défaut
    Hello,

    Merci gFZT82 !

    Mais comment peut-on faire pour introduire cela dans un moteur qui va faire un check par devise ?

    C'est à dire, par exemple, il trouve GBP TOTAL, alors hop, il indique Situation GBP en A1, ensuite il fait le check pour USD TOTAL, idem pour le traitement il le met en A2 parcontre si il ne trouve pas, il passe au suivant automatiquement.

    Donc au lieu de mettre un blanc en A2 et mettre EUR en A3, il me met directement dans A2.

    Je sais que cela comprends des tests sur des cellules, donc comment je peux faire cela avec activecell.offset ( do+loop ) ?

    Au final il ferait un test sur une dizaine de devise, si il en trouve que 5 ils les ajoutent l'une en dessous de l'autre, et non pas en laissant des espaces vides.

    Est-ce que cela est possible ?

    En raisonnant de manière simple le schéma serait le suivant :

    Si tu trouves la devise 1, tu indiques situation 1 et tu sautes la ligne et tu recommences le check,

    Sinon tu cherches la devise 2, puis si tu trouves tu sautes la lignes et tu recommences le check sur devise 3,

    Vu qu'il y a 10 devises, comment je peux faire ce shéma ?

  5. #5
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Bonjour,

    J’entrevois 2 solutions :
    Soit tu proposes un code qui indique ce qui faut chercher, où il faut chercher et où il faut placer les résultats (solution à privilégier car elle montre que tu as bien travaillé le sujet).
    Soit tu fais comme préconisé par Bear the french et tu nous montres un modèle simplifié de ton fichier en incluant les commentaires pour aider à la compréhension.

    Cordialement.

Discussions similaires

  1. [XL-2003] VBA Find ne marche pas dans les formules
    Par Ghorin dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/11/2011, 17h56
  2. Find avec cellule/formule/format personnalisé
    Par edelweisseric dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 14/05/2010, 09h14
  3. Find contenu de la cellule est une formule
    Par Capsule dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 05/01/2007, 09h47
  4. la formule find ne fonctionne pas
    Par corwin44 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 06/07/2006, 16h52
  5. [reseaux] Comment creer un compte user à partir d'un formul avec perl
    Par oulai_evado dans le forum Programmation et administration système
    Réponses: 4
    Dernier message: 01/10/2002, 19h54

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