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 :

Macro Ligne Colonne


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 5
    Par défaut Macro Ligne Colonne
    Bonjour à tous
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    l1 = "=" & Fe & "!R" & lig + 1000 & "C" & col2
    m1 = "=" & Fe & "!R" & lig + 1000 & "C" & col1
      g1 = "=(IF(m1=0,"""",(l1/m1) - 1)"
    Fe c là feuille ou j'ai mes données, lig col1 et col2 c des variables
    C ce que j'ai dans ma boucle dans ma macro mais quand je la lance ca bug et je vois pas pourquoi?

    Quand je mets juste: g1 =" (l1/m1) - 1 pour essayer de trouver l'erreur
    la macro s'execute bien mais sur mes cellules j'ai juste (l1/m1) - 1 comme ca(avec les lettres)
    et pas le résultat

    ce que j'aimerai ca serait plus simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    g1 =  (("=" & Fe & "!R" & lig + 1000 & "C" & col2)/("=" & Fe & "!R" & lig + 1000 & "C" & col1) - 1
    Mais ca marche pas non plus
    je veux juste calculer une variation mais je trouve pas la bonne syntaxe(c un question de & et " je crois).
    Merci pour votre aide

  2. #2
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut concaténation
    Bonsoir Adriana,

    Il faudrait que tu en dises plus sur tes variables.

    sI G1 est une cellule, alors il faudrait déclarer ta formule

    Essaie, avant de l'épurer, d'enregistrer ta macro par l'enregistreur.

    Un conseil : pour tes post, utilise les balises de codes (symbole "#" après avoir sélectionné ton texte).

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 5
    Par défaut
    Merci pour ta réponse MarcelG
    En fait g1 n'est pas une cellule c justement le résultat que je veux que VBA m'affiche automatiquement sur Excel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    l1 = "=" & Fe & "!R" & lig + 1000 & "C" & col2
    m1 = "=" & Fe & "!R" & lig + 1000 & "C" & col1
    g1 = "=(IF(m1=0,"""",(l1/m1) - 1)"
    la suite de ma macro c ca:Cells(i, co8).FormulaR1C1 = g1
    je veux donjc afficher ces g1 en ligne i(qui est aussi une variable dans ma boucle) et en colonne H (colonne 8)
    Merci encore.

  4. #4
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut concaténation
    Dans ce cas, il te faut déclarer tes variables pas à pas,

    Exemple

    Cette déclaration peut être intégrée à un balayage de celluls.
    Quelquechose dans le genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim rg as Range
     
    For Each rg in Range("A1:A10")
     lig= rg.Row
     mavaleur = lig*50
    rg.Value = mavaleur
    Next rg

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 5
    Par défaut
    Merci encore Marcel
    f
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1 = "=product(" & Fe & "!R" & lig & "C" & col1 & ":" & "R" & lig & "C" & col2 & ")-1"
    Ca ca marche très bien

    Alors que Ca non
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    g1 = (("=" & Fe & "!R" & lig + 1000 & "C" & col2)/("=" & Fe & "!R" & lig + 1000 & "C" & col1) - 1
    Sachant que mes variables je les ai déja toutes déclarer(pour répondre à ta question) avant ma boucle For.

    C pour ca que je pense que y'a juste un problème de syntaxe, j'ai peut etre oublier des " ou des && ??

  6. #6
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut concaténation
    Bonsoir Adriana,

    Il te faut déclarer tes variables à l'intérieur de tes boucles, car ces variables évoluent en fonction de tes cellules.

    Je suis peut-être têtu, mais il ne te faut pas concaténer, s'il ne s'agit aps de méthode "Formula" avec des "".

    Teste chaque élément de ta formule à l'aide de la fenête exécution.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Debug.Print col1
    Debug.print col2...
    Puis construis ta formule progressivement, et teste-la.

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

Discussions similaires

  1. Coller en conservant la mise en forme ligne/colonne
    Par lucarno dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 22/04/2007, 12h52
  2. [VB6] Manipuler des cellules/lignes/colonne d'un Flexgrid
    Par zako dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 08/06/2006, 18h34
  3. [VBA-E]refedit nb ligne colonnes
    Par attavus dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 11/05/2006, 12h49
  4. [VBA] Masquer les sélecteurs de ligne/colonnes (1,2..,A,B,C)
    Par skual dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/03/2006, 08h52
  5. est il possible d'inverser ligne/colonne ?
    Par kiki26 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 25/01/2005, 15h35

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