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 vba avec cells


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    1 240
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 240
    Points : 213
    Points
    213
    Par défaut formule vba avec cells
    Bonjour

    Aprés plusieurs tentatives, je me résous a venir vers vous
    J'essaie d'écrire une formule vba avec des variables et la fonction cells

    Les variables NumCol_JourFlashage et NumCol_timestamp sont bien déclarées avec comme valeur pour
    NumCol_JourFlashage =2
    NumCol_timestamp= 7

    C'est la formule qui STXT pour recuperer une chaine de caratère

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    With ActiveWorkbook.Worksheets("feuil1")
     
          Cells(2, NumCol_JourFlashage).Formula = "=Mid(Cells(2, NumCol_timestamp), 1, 10)
     
     
    End With
    Lorsque j'execute cette macro
    Dans la cellule B2 qui correspond a la cellule Cells(2, NumCol_JourFlashage) j'ai ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =STXT(@Cells(2; NumCol_timestamp); 1; 10)
    Merci de votre aide

  2. #2
    Membre confirmé
    Homme Profil pro
    Responsable des études(en disponibilité)
    Inscrit en
    Juin 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable des études(en disponibilité)
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 367
    Points : 634
    Points
    634
    Par défaut
    Bonjour

    STXT est la fonction Excel

    qui équivaut a la fonction MID en VBA.

    Je crois que ton résultat est normal.

    Bonne Journée

    Par contre en faisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(2, NumCol_JourFlashage).Value = Mid(Cells(2, NumCol_timestamp), 1, 10)
    Tu devrais trouver ta valeur dans la cellule.

  3. #3
    Membre confirmé Avatar de Nain porte koi
    Homme Profil pro
    peu importe
    Inscrit en
    Novembre 2023
    Messages
    410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : peu importe

    Informations forums :
    Inscription : Novembre 2023
    Messages : 410
    Points : 645
    Points
    645
    Par défaut
    Hello,

    Mijd est bien interprété et transformé en STXT, mais cells n'a pas d'équivalent il faut donc changer la formule par le résultat de Cells(2, NumCol_timestamp) afin de le mettre dans la chaine
    JièL
    Membre des AMIS
    Anti Macro Inutilement Superfétatoire

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 928
    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 : 12 928
    Points : 28 922
    Points
    28 922
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    La propriété Formula de l'objet Range attend la formule sous forme d'une chaine de caractères et en anglais
    Si j'ai un excel français et que je veux écrire dans la cellule B3 de la feuille active, la fonction =STXT(B2;1;10) avec VBA, je devrai écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(3, 2).formula = "=MID(B2,1,10)"
    En supposant que le numéro de la ligne soit une variable, par exemple r, je devrai écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(3, 2).Formula = "=MID(B" & r & ",1,10)"
    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

Discussions similaires

  1. [Toutes versions] Formule VBA avec variable à l'ensemble d'une colonne en fonction de la ligne
    Par ishaq74 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 21/03/2022, 06h29
  2. [XL-2010] Copie de formule du code VBA vers une cellule avec Cells(,)
    Par Omnbre dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 08/02/2016, 11h19
  3. [XL-2007] Insérer formule VBA avec incrémentation dans cellule
    Par Omnbre dans le forum Excel
    Réponses: 4
    Dernier message: 29/06/2015, 14h05
  4. [Toutes versions] formule vba avec nom de feuille variable
    Par leptitdave dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/08/2009, 11h30
  5. [VBA-Excel] Plagen avec Cells
    Par Damsou dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 13/01/2005, 10h49

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