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 :

formulaire dans une cellule excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2005
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 33
    Par défaut formulaire dans une cellule excel
    Bonjour à tous

    je veux utiliser la condition if dans une cellule excel
    voici mon code:

    Cells(intRow, 1).FormulaR1C1 = "=IF(RC[" & departurecolumn & "]-RC[" & arrivalcolumn & "]<0;"";RC[" & departurecolumn & "]-RC[" & arrivalcolumn & "])"
    cela m'affiche l'erreur suivante:

    error '1004'
    Application-defined or object-defined
    Pouvez vous m'aider SVP

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    affiche la formule histoire de voir si elle semble correcte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Debug.print "=IF(RC[" & departurecolumn & "]-RC[" & arrivalcolumn & "]<0;"";RC[" & departurecolumn & "]-RC[" & arrivalcolumn & "])" 
     
    .
    fait ensuite un copier coller depuis ta fenêtre execution et envoi nous le résultat..

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Il te manque des guillemets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Cells(intRow, 1).FormulaR1C1 = "=IF(RC[" & departurecolumn & "]-RC[" _
    & arrivalcolumn & "]<0;" & """""" & ";RC[" & departurecolumn & "]-RC[" _
       & arrivalcolumn & "])"
    Mais bbil te donne le moyen de le vérifier

  4. #4
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    verifie aussi la valeur de intRow (1..65535)

  5. #5
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Pour le debug.print... je te l'ai écrit plus haut...
    Citation Envoyé par bbil
    ...
    fait ensuite un copier coller depuis ta fenêtre execution et envoi nous le résultat..
    tiens rajoute aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    debug.print "intRow = " & intRow
    afin d'afficher en plus le numero de ligne traité dans ta fenêtre exécution .

  6. #6
    Membre averti
    Inscrit en
    Décembre 2005
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 33
    Par défaut
    J'ai ajouté la ligne suivante

    debug.print "intRow = " & intRow
    rien ne s'affiche

  7. #7
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par amel95140
    J'ai ajouté la ligne suivante



    rien ne s'affiche
    tu la mis ou la ligne ... avant les lignes qui provoque l'erreur , j'espére...
    l'affichage se fait dans le fenêtre exécution ( CTRL+G , depuis l'éditeur VBE !)

  8. #8
    Membre averti
    Inscrit en
    Décembre 2005
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 33
    Par défaut
    effectivement lorque je fais ctrl + G cela m'affiche
    =IF(RC[5]-RC[8]<0;"";RC[5]-RC[8])
    pour le code suivant

    Debug.Print "=IF(RC[" & departurecolumn & "]-RC[" & arrivalcolumn & "]<0;" & """""" & ";RC[" & departurecolumn & "]-RC[" & arrivalcolumn & "])"
    L'affichage me parait juste mais je ne comprend pas pourquoi cela m'affiche toujours la même erreur

  9. #9
    Membre averti
    Inscrit en
    Décembre 2005
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 33
    Par défaut
    j'ai essayé le code que m'a passé ouskel'n'or à savoir

    Cells(intRow, 1).FormulaR1C1 = "=IF(RC[" & departurecolumn & "]-RC[" & arrivalcolumn & "]<0;" & """""" & ";RC[" & departurecolumn & "]-RC[" & arrivalcolumn & "])"


    et cela m'affiche le meme message d'erreur qu'avant

    j'ai ensuite fait ceci

    Debug.Print "=IF(RC[" & departurecolumn & "]-RC[" & arrivalcolumn & "]<0;" & """""" & ";RC[" & departurecolumn & "]-RC[" & arrivalcolumn & "])"
    et il n'y a aucun message d'erreur qui s'affiche.

    J'aimerais également savoir à quoi sert concretement "Debug.Print".

    Merci

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 14/06/2007, 12h13
  2. limite Caractère dans une cellule Excel 2000
    Par Vetchostar dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 07/03/2007, 14h36
  3. Remplacer un texte dans une cellule Excel à partir d'un point donné
    Par tonyC dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 28/04/2006, 19h05
  4. [VBA-PP]fonction qui écrit un chiffre dans une cellule excel
    Par alpking dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 26/04/2006, 19h34
  5. Réponses: 4
    Dernier message: 15/04/2005, 15h25

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