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 :

Soucis macro fonction MID


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2015
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : Mars 2015
    Messages : 123
    Par défaut Soucis macro fonction MID
    Bonjour à tous,

    J'ai un soucis sur ma macro sur la ligne ou il y a de mentionner ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Range("C2").Select
    Do While ActiveCell.Value <> ""
        ActiveCell.Offset(0, 32).Select
        ActiveCell.FormulaR1C1 = "MID(RC[-21],11,4)"
        ActiveCell.Offset(1, -32).Select
    Loop
    A la fin de la macro il me note la formule MID et non le résultat...

  2. #2
    Membre Expert
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Par défaut
    Bonjour chito79000,

    Avec un "égal" = devant, ça donne quoi ? =)

    Cordialement,
    Kimy

  3. #3
    Membre Expert Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Par défaut
    Bonjour Chito, bonjour le forum,

    Il te manque juste un signe égale (=) devant le MID :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveCell.FormulaR1C1 = "=MID(RC[-21],11,4)"
    [Édition]
    Bonjour Kimy, on s'est croisé...

  4. #4
    Membre confirmé
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2015
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : Mars 2015
    Messages : 123
    Par défaut
    J'ai bien modifié avec le = devant mais cela ne fonctionne pas...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Range("C2").Select
    Do While ActiveCell.Value <> ""
        ActiveCell.Offset(0, 32).Select
        ActiveCell.FormulaR1C1 = "=MID(RC[-21],11,4)"
        ActiveCell.Offset(1, -32).Select
    Loop

  5. #5
    Invité
    Invité(e)
    Par défaut
    bonjour,
    Pas de select selection et autre ActiveCell

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    dim L as long
    l=2
    Do While Range("C" & l).Value <> ""
    Range("C" &  l).Offset(0, 32).FormulaR1C1 = "=MID(RC[-21],11,4)"
    l=l+1
    Loop
    j'ai pas compris le do while mais bon!
    Dernière modification par Invité ; 10/03/2015 à 15h44.

  6. #6
    Membre confirmé
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2015
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : Mars 2015
    Messages : 123
    Par défaut
    Cela ne fonctionne toujours pas..

  7. #7
    Invité
    Invité(e)
    Par défaut
    regard j'ai modifié!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    dim L as long
    l=2
    Do While Range("C" & l).Value <> ""
    Range("C" &  l).Offset(0, 32).FormulaR1C1 = "=MID(RC[-21],11,4)"
    l=l+1
    Loop

  8. #8
    Membre confirmé
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2015
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : Mars 2015
    Messages : 123
    Par défaut
    Désolé du dérangement mais cela ne fonctionne toujours pas le résultat reste la formule et non les lettres

  9. #9
    Invité
    Invité(e)
    Par défaut
    qu'est ce que tu as colonne N?

  10. #10
    Membre confirmé
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2015
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : Mars 2015
    Messages : 123
    Par défaut
    Des exemples de la colonne
    D02015N \ AJ09
    D02007N \ AJ01
    D02007N \ AJ01
    D02007N \ AJ01

  11. #11
    Invité
    Invité(e)
    Par défaut
    voila ce que je récupère en AL
    AJ09
    AJ01
    AJ01
    AJ01

  12. #12
    Membre Expert Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Par défaut
    Bonjour le fil, bonjour le forum,

    J'ai testé chez moi le code proposé dans le post #3 et ça fonctionnait !...

  13. #13
    Membre confirmé
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2015
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : Mars 2015
    Messages : 123
    Par défaut
    Cela provient du fichier ?

  14. #14
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Thautheme Voir le message
    Bonjour le fil, bonjour le forum,

    J'ai testé chez moi le code proposé dans le post #3 et ça fonctionnait !...
    égoïstement j'ai testé le poste #7 et ça marche.

  15. #15
    Membre confirmé
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2015
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : Mars 2015
    Messages : 123
    Par défaut
    Les données de la colonne N viennent d'une autre requête. le copier coller en valeurs cela ne fonctionne pas....

  16. #16
    Membre Expert
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Par défaut
    Re chito79000,

    Peut-être devrais-tu passer par la méthode VBA Mid avec quelque chose du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("C" &  l).Offset(0, 32) = Mid(Range(ma_range).Value, y, z)
    Je pense que tu aurais moins de soucis.

    Après si tu as besoin d'une formule dans ta colonne, oublie ce que je viens de dire. ^^

    Cordialement,
    Kimy

  17. #17
    Membre confirmé
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2015
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : Mars 2015
    Messages : 123
    Par défaut
    Bonjour à tous,

    Désolé du dérangement.

    Le problème venait du fichier à vrai dire ce qui me semble bizarre. J 'ai refait la même macro sur un autre fichier et cela a fonctionné.

    Merci pour vos messages.

    Bonne fin de journée.

  18. #18
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Désolé du dérangement mais cela ne fonctionne toujours pas le résultat reste la formule et non les lettres
    Je vois trois possibilités au problème que tu décris.
    1) La cellule active est au format texte
    2) L'option Afficher les formules est activée
    3) La feuille n'est pas une feuille de calcul mais une feuille "Macro Xl4" (moins probable sans doute)
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  19. #19
    Membre confirmé
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2015
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : Mars 2015
    Messages : 123
    Par défaut
    Oui plus j'y pense plus je pense que c'est La cellule active est au format texte.
    Mais comment éviter cela vu qu'elle s'est mis automatiquement.

  20. #20
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Oui plus j'y pense plus je pense que c'est La cellule active est au format texte.
    Il faut faire plus qu'y penser, il faut vérifier.

    Mais comment éviter cela vu qu'elle s'est mis automatiquement.
    Le format texte s'est mis automatiquement vraisemblablement suite à ton erreur de syntaxe (voir le code dans ta question initiale).
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

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

Discussions similaires

  1. Fonction Mid(), référence et Runtime
    Par Herman dans le forum Runtime
    Réponses: 1
    Dernier message: 12/06/2007, 09h53
  2. Erreur : Appel de procedure (Fonction Mid)
    Par l1xnoir dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 08/04/2007, 19h40
  3. Soucis avec fonction confirm
    Par renaud26 dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 16/03/2007, 11h54
  4. HELP : Problème avec la fonction Mid
    Par lawrac dans le forum Access
    Réponses: 1
    Dernier message: 27/12/2006, 17h44
  5. Réponses: 2
    Dernier message: 02/12/2005, 10h53

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