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 :

) dans une condition d'une fonction


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 52
    Par défaut ) dans une condition d'une fonction
    Bonsoir à tous,

    J'ai écrit dans une fonction le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Mid(v, i, 1) = Chr(41) Then i = i - 2 Else i = i - 1
    mais cela ne fonctionne pas.
    Je cherche à créer une condition si le caractère dans une chaîne est égal à ) soit Chr(41).
    Merci de votre aide

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    que contient v ?
    Que contient i ?
    comment v et i ont-elles été déclarées et initialisées ?

    Et si i est variable dans une boucle For ... to ... Next, montre donc également cette boucle.

    (j'ai égaré ma boule de cristal ;

    EDIT : et
    mais cela ne fonctionne pas.
    n'a aucun sens précis ...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 52
    Par défaut
    J'utilise while i > 0
    Je cherche à connaitre la position de ) dans une chaine de caractère dans une cellule
    merci d'avance

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    1) répétons-nous donc (je ne le ferai plus)
    que contient v ?
    Que contient i ?
    comment v et i ont-elles été déclarées et initialisées ?
    2)
    mais cela ne fonctionne pas.
    n'a aucun sens précis ...
    Et maintenant : une boucle while -->> montre cette boucle

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 52
    Par défaut
    v est une chaine de caractères, i est le nbre de caractères de la chaine
    pas de declaration
    la fonction ne renvoie pas la position de )

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 52
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Public Function posnd2(cellule As Range, N As Long)
    'Position du Niéme caractère numérique
    'd'une chaîne contenue dans une cellule.
    'N: Entier positif (obligatoire)
    v = cellule.Value
    i = Len(v)
    While i > 0
        If IsNumeric(Mid(v, i, 1)) Then
            k = k + 1
            If k = N Then
                posnd = i
                i = 0
            End If
        End If
        If Mid(v, i, 1) = Chr(41) Then i = i - 2 Else i = i - 1
    Wend
    If posnd = 0 Then posnd = "Pas de " & N & " ième chiffre."
    End Function

  7. #7
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Je vois que tu as "répondu" à chacune de mes demandes (réitérées, de surcroît)
    Hé bien bye et bonne chance.

Discussions similaires

  1. Réponses: 5
    Dernier message: 21/03/2016, 18h48
  2. Réponses: 2
    Dernier message: 27/02/2015, 10h13
  3. [WD18] Metre une colonne d'une Table sur une ligne d'une autre Table
    Par Totophe2 dans le forum WinDev
    Réponses: 2
    Dernier message: 22/11/2013, 12h58
  4. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  5. masquer ou afficher une condition liée à une condition?
    Par secondechance dans le forum IHM
    Réponses: 2
    Dernier message: 14/11/2008, 20h36

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