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 :

integrer un variable dans une fonction [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Homme Profil pro
    Restaurateur
    Inscrit en
    Juin 2008
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Restaurateur
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2008
    Messages : 316
    Billets dans le blog
    1
    Par défaut integrer un variable dans une fonction
    Bonjour,
    j'ai une variable "C1" que j'aimerai inserer dans une fonction, pour me faciliter
    la lecture du code...
    je ne sais pas comment faire car a cause des " du début la variable C1, ne passe pas en variable mais en texte et le C majuscule reste ecrit en minuscule..
    comment faire pour inserer une variable dans la fonction ci dessous,
    et que mes c1 deviennent C1 et surtout soit pris en compte en tant que VARIABLEs...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("C3").FormulaR1C1 = "=TIME(TRUNC(c1),(c1-TRUNC(c1))*100,0)"
    bien sur elles sont déclarer au début du code...

  2. #2
    Membre éclairé

    Homme Profil pro
    Restaurateur
    Inscrit en
    Juin 2008
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Restaurateur
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2008
    Messages : 316
    Billets dans le blog
    1
    Par défaut
    je pense finalement avoir trouvé
    ce code semble fonctionner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "=TIME(TRUNC(" & C1 & "),(" & C1 & "-TRUNC(" & C1 & "))*100,0)"

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 48
    Par défaut
    Oui c'est bien ça, tu m'as grillé de quelques secondes !

    Il faut en effet mettre ta variable entre " & & " dans ces cas là

  4. #4
    Membre éclairé

    Homme Profil pro
    Restaurateur
    Inscrit en
    Juin 2008
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Restaurateur
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2008
    Messages : 316
    Billets dans le blog
    1
    Par défaut
    Finalement,
    mon probleme persiste un peu...

    voilà le debut du code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim repertoire As String
    Dim fichier As String
    Dim C1 As String
    Dim C2 As String
    Dim C3 As String
    C1 = "='" & repertoire & "[" & fichier & "]Planning'!R[3]C[42]"
    C2 = "='" & repertoire & "[" & fichier & "]Planning'!R[3]C[42]"
    C3 = "='" & repertoire & "[" & fichier & "]Planning'!R[3]C[42]"
    repertoire = sheets("ACCUEIL").Range("c20").Value
    fichier = sheets("ACCUEIL").Range("c16").Value
    les valeurs de repertoire et fichier sont le chemin+le nom du fichier
    pour avoir l'adresse complete de ma liaison pour faire ma mise a jour.

    le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("C3").FormulaR1C1 = "=TIME(TRUNC(" & C1 & "),(" & C1 & "-TRUNC(" & C1 & "))*100,0)"
    est issue d'un exemple qui marche dont le code est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("C3").FormulaR1C1 = "=TIME(TRUNC("A1),(A1-TRUNC(A1))*100,0)"
    Il me permet de convertir la cellule A1 dont l'écriture serait 6,3 en heure, pour me donner 6:30 etc...

    je cherche donc a recuperer sur un fichier ces valeurs qui sont en "nombre"
    d'où ma liaison...
    et donc à la place ( dans l'exemple de A1), j'essaie de mettre le chemin du fichier faisant reference à l'onglet et la cellule contenenant l'info ( Planning'!R[3]C[42] )
    seulement en ecriavant ce code dans la variable...
    j'imagine que je ne recupere pas la reference de la cellule mais "l'ecriture" en dur R3c42, et evidemment je passe en debogage...

    j'ai tenter de supprimer la reference cellule de la variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C1 = "='" & repertoire & "[" & fichier & "]Planning'!"
    et de mettre la reference dans l'execution de la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("D3").FormulaR1C1 = "=TIME(TRUNC(" & C1 & "R[3]C[42]),(" & C1 & "R[3]C[42]-TRUNC(" & C1 & "R[3]C[42]))*100,0)"
    idem debogage..
    comment faire pour passer...
    comment et où faut il ecrire la reference R[3]C[42] dans le code...

    j'ai essayer d'être clair..
    certes un peu long aussi...
    dslé

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 48
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C1 = "'" & repertoire & "[" & fichier & "]Planning'!C3"
    normalement ça devrait marcher ainsi, à adapter selon les cellules auxquelles tu fais référence.

  6. #6
    Membre éclairé

    Homme Profil pro
    Restaurateur
    Inscrit en
    Juin 2008
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Restaurateur
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2008
    Messages : 316
    Billets dans le blog
    1
    Par défaut
    Alors, c'est mieux que ce que j'avais comme resultat..
    juste tout petit souci...
    dans ton code j'ai ajouter le signe = sinon, j'ai pas de calcul possible..
    regarde
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C1 = "='" & repertoire & "[" & fichier & "]Planning'!AS6"
    en faisant juste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("C3").FormulaR1C1 = C1
    pour tester...
    je passe, mais voilà l'ecriture... dans la cellule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ='C:\Users\Julien\Desktop\[MatriceCAFE RITAZZA  v8.xls]Planning'!'AS6'
    il y a apres le !, 'AS6',
    il faudrait qu'il y ait juste AS6...
    JE TORTURE DANS TOUS LES SENS....
    je voix pas, ni meme pourquoi ces ' apparaissent..
    si t'as une idée,
    en tout cas merci.. parce que ça avance !!!

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 48
    Par défaut
    Essayes plutôt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("C3)".Formula = C1
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("C3").FormulaLocal = C1
    Par contre si tu mets le égal, tu auras surement une erreur d'exécution 1004 en intégrant la variable C1 dans ta formule, tu peux le mettre pour tester la récupération de la valeur sur l'autre feuille, mais il faudra l'enlever ensuite.

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

Discussions similaires

  1. Passage de variables dans une fonction
    Par renaud26 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 01/07/2006, 17h49
  2. [Excel]Mettre une variable dans une fonction
    Par soad029 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 14/04/2006, 12h00
  3. [Tableaux] Récuperer variable dans une fonction
    Par amarcil dans le forum Langage
    Réponses: 12
    Dernier message: 12/02/2006, 10h56
  4. Pb de variable dans une fonction :
    Par soad029 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/10/2005, 13h54
  5. [AS2] déclarer des variables dans une fonction
    Par ooyeah dans le forum ActionScript 1 & ActionScript 2
    Réponses: 12
    Dernier message: 02/08/2005, 12h50

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