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 :

Actualisation Cellule en appuyant sur Enter [XL-2019]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti Avatar de Mooohfr
    Homme Profil pro
    Technicien en production industrielle
    Inscrit en
    Avril 2020
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Technicien en production industrielle
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2020
    Messages : 17
    Par défaut Actualisation Cellule en appuyant sur Enter
    Bonjour,

    Un problème qui parait classique mais sans trouver de solution de mon côté après avoir écumé le forum.

    Même problème que la personne dans le sujet ci dessous.
    Je suis obligé manuellement d'aller sur la cellule, appuyer sur entrée pour que la cellule se mette à jour.
    La cellule passe alors de #NOM? à la bonne valeur.

    https://www.developpez.net/forums/d1...tion-cellules/

    J'ai ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub maj_date_lancement()
     
    'j'ajoute la date de lancement
    Application.Calculation = xlCalculationManual
        cells(13, 61).Select
        ActiveCell.FormulaR1C1 = _
            "=VLOOKUP(CNUM(HOME!R3C7),INDIRECT(""POP!A:N""),7,0)"
    Application.Calculation = xlCalculationAutomatic
     
    End Sub
    La formule que je souhaite afficher au final est la suivante
    Code formule : Sélectionner tout - Visualiser dans une fenêtre à part
    =RECHERCHEV(CNUM(HOME!$G$3);INDIRECT("POP!A:N");7;0)

    J'ai également essayé sans succès.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Worksheets("Avancement").Calculate
    En appuyant sur F9 celà ne fonctionne pas non plus.

    Pour info, je suis passé par l'enregistreur de macro qui me propose dans la même formule une syntaxe à la fois FormulaR1C1 et Formula

    Grand merci de votre aide,

  2. #2
    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
    Je te l'ai déjà dit : il ne faut pas mélanger dans une formule les références type R1C1 et les références type A1.
    Tu choisis le type de référence que tu veux utiliser et ensuite tu utilises Formula ou FormulaR1C1 en fonction du choix que tu auras fait.

  3. #3
    Membre averti Avatar de Mooohfr
    Homme Profil pro
    Technicien en production industrielle
    Inscrit en
    Avril 2020
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Technicien en production industrielle
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2020
    Messages : 17
    Par défaut
    Merci Menhir.

    Je choisi donc FormulaR1C1 avec la modification ci dessous.
    Même résultat. Besoin de faire "Entrée" après avoir activer la cellule manuellement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub maj_date_lancement()
     
    'j'ajoute la date de lancement
    Application.Calculation = xlCalculationManual
        cells(13, 61).Select
        ActiveCell.FormulaR1C1 = _
            "=VLOOKUP(CNUM(HOME!R3C7),INDIRECT(""POP!RC1:RC14""),7,0)"
    Application.Calculation = xlCalculationAutomatic
     
    End Sub
    Du coup sur la feuille et dans la cellule en question j'ai maintenant.
    Code formule : Sélectionner tout - Visualiser dans une fenêtre à part
    =RECHERCHEV(CNUM(HOME!$G$3&$A12);INDIRECT("POP!RC1:RC14");7;0)

    Du coup dans mon code j'ai du 100% FormulaR1C1 mais sur ma feuille j'ai un mélange.
    Ai je mal rédigé la formule en R1C1 ?

  4. #4
    Membre averti Avatar de Mooohfr
    Homme Profil pro
    Technicien en production industrielle
    Inscrit en
    Avril 2020
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Technicien en production industrielle
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2020
    Messages : 17
    Par défaut
    Bonjour,

    Je bloque toujours.
    J'ai même changé tous les formats pour être bien cohérent et je suis toujours obligé d'entrer dans la formule.
    Faire Enter puis la cellule passe de #Name vers la bonne valeur.

    Si je clique sur la cellule (sans mettre le focus sur la barre de formule), que je fais un Rechercher 0 et Remplacer par 0 alors ça fonctionne mais sans passer par du VBA.
    Toujours en manuel.

    J'ai cherché à simuler l'appui sur la touche Enter mais pas sur que cela fonctionne et de toute façon pas propre.

    Je ne trouve rien sur le forum ni ailleurs.

    C'est le méga point mort et je n'avance plus mon tableau.

    Merci encore pour vos aides,

  5. #5
    Membre averti Avatar de Mooohfr
    Homme Profil pro
    Technicien en production industrielle
    Inscrit en
    Avril 2020
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Technicien en production industrielle
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2020
    Messages : 17
    Par défaut
    Merci de m'avoir orienté.

    J'ai à nouveau utilisé l'enregistreur de maco et j'ai réinclu la formule que VBA me donne à savoir :
    Code formule : Sélectionner tout - Visualiser dans une fenêtre à part
    =VLOOKUP(VALUE(HOME!R3C7&RC1),INDIRECT(""POP!A:G""),7,0)

    même si apparemment VBA mélangerait du FormulaR1C1 avec du Formula mais en tout cas ce n'est pas moi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub maj_date_lancement()
     
    'j'ajoute la date de lancement
        cells(13, 61).Select
        ActiveCell.FormulaR1C1 = _
            "=VLOOKUP(VALUE(HOME!R3C7),INDIRECT(""POP!A:G""),7,0)"
     
    End Sub
    Plus besoin de mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Application.Calculation = xlCalculationManual
    .....
    Application.Calculation = xlCalculationAutomatic
    J'en déduis donc que le Value a tout changé.

    Je passe le sujet en résolu.

    Bonne journée,

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

Discussions similaires

  1. [PowerShell] Appuyer sur ENTER automatiquement
    Par alex_m94 dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 17/09/2016, 14h43
  2. Valider une ComboBox en appuyant sur "ENTER"
    Par ThamAL dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/10/2013, 12h23
  3. Lire un 'char' sans appuyer sur enter
    Par Jehuty57 dans le forum Langage
    Réponses: 10
    Dernier message: 07/12/2010, 01h12
  4. recuperer la donnée sans appuyer sur enter
    Par bilou_2007 dans le forum C++
    Réponses: 9
    Dernier message: 12/06/2010, 13h32
  5. Saisir le choix sans avoir à appuyer sur Enter
    Par b_steph_2 dans le forum C++
    Réponses: 7
    Dernier message: 12/07/2005, 11h27

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