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 :

Insertion de formule selon ligne


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier

    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 61
    Points : 96
    Points
    96
    Par défaut Insertion de formule selon ligne
    Bonjour,
    jé débute avec les Macros et pour m'entraîner je veux que la formule s'adapte selon le numéro de ligne qui dépend de la cellule sélectionné, j'ai donc réalisé cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Macro2()
    i = 7
    r = ActiveCell.Row
     
    While i < 186
      Cells(ActiveCell.Row, i).Select
        formule = "=IF(AND(($F$" & CStr(r) & "*1440-$G$1*1440)/5<=COLONNE()-7;($F$" & CStr(r) & "1440+$E$" & CStr(r) & "1440-$G$1*1440+5)/5>=COLONNE()-7);1;"")"
        ActiveCell.Formula = _
        formule
      i = i + 1
     Wend
    '
    End Sub
    Cependant je reçois une erreur 1004 au niveau du Active.Cell.Formula = _formule.

    Comment résoudre ce problème ?
    Merci d'avance.

  2. #2
    Membre expérimenté
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    673
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 673
    Points : 1 580
    Points
    1 580
    Par défaut
    Bonjour,
    Il suffit de mettre un point d'arrêt sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveCell.Formula =...
    et de faire un ?formule dans la fenêtre exécution. Le résultat donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =IF(AND(($F$1*1440-$G$1*1440)/5<=COLONNE()-7;($F$11440+$E$11440-$G$1*1440+5)/5>=COLONNE()-7);1;")
    On voit tout de suite que la fin de la formule est fausse, il faut doubler les doubles guillemets pour en avoir le nombre suffisant dans la formule finale.

  3. #3
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Points : 3 974
    Points
    3 974
    Par défaut
    Bonjour,

    J'ai noté également :
    COLONNE se traduit COLUMN;
    le point virgule doit être remplacé par la virgule ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub Macro2()
    Dim formule As String
    i = 7
    r = ActiveCell.Row
    While i < 186
        Cells(ActiveCell.Row, i).Select
        formule = "=IF(AND(($F$" & CStr(r) & "*1440-$G$1*1440)/5<=COLUMN()-7,($F$" & CStr(r) & "*1440+$E$" & CStr(r) & "*1440-$G$1*1440+5)/5>=COLUMN()-7),1,"""")"
        ActiveCell.Formula = formule
      i = i + 1
     Wend
    End Sub
    Cordialement.

  4. #4
    Membre régulier

    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 61
    Points : 96
    Points
    96
    Par défaut
    Merci beaucoup à vous deux ! Je passe en résolu.

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

Discussions similaires

  1. [XL-2007] Formule pour récupérer valeur selon ligne et colonne
    Par zycomatic dans le forum Excel
    Réponses: 3
    Dernier message: 22/06/2010, 12h12
  2. insertion automatique de plusieurs lignes dans mysql
    Par dejiein dans le forum Requêtes
    Réponses: 2
    Dernier message: 02/06/2006, 10h41
  3. [VBA-E] insertion de formule dans cellule
    Par jeff37 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 31/05/2006, 13h53
  4. [VBA-E]insertion automatique d'une ligne dans un tableau
    Par janus82 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 06/04/2006, 15h42
  5. [DTS sql server] Erreur lors de l'insertion de trop de ligne
    Par MoTUmBo dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 05/07/2005, 22h44

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