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 :

Row Column VBA [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 11
    Par défaut Row Column VBA
    Bonjour,

    J'aimerai juste remplacer cette formule

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "=MINVERSE(MMULT(TRANSPOSE(R[1]C[-44]:R[477]C[-29]),R[1]C[-44]:R[477]C[-29]))"
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "=MINVERSE(MMULT(TRANSPOSE(R[1]C[-44]:R[DerLig]C[-29]),R[1]C[-44]:R[DerLig]C[-29]))"
    avec DerLig qui est une variable dans une boucle que j'ai dans ma macro, mais ca marche pas comme ca?

    donc c pas la bonne syntaxe.

    Merci pour votre aide.

  2. #2
    Membre Expert
    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
    Par défaut
    Bonjour,
    Il faut juste sortir la variable de la chaîne de caractères :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "=MINVERSE(MMULT(TRANSPOSE(R[1]C[-44]:R[" & DerLig & "]C[-29]),R[1]C[-44]:R[" & DerLig & "]C[-29]))"

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 11
    Par défaut
    Merci tedo01 ca marche

    si je peux me permettre une dernière chose,
    j'ai 6 onglets excel et les résultats qui m'interressent sont dans les range AW19:AW34 et AW60:AW75
    j'aimerai juste les mettre dans un nouvel onglet que je crer (Result) en utilisant la fonction transpose:
    pour le cas1 je transpose AW19:AW39 en B2:Q2 de l'onglet Result et AW60:AW75 (de l'onglet cas1) je le transpose en R2:AG2
    les résultats de l'onglet cas2 idem en onglet Result à la ligne 3
    jusqu'à la ligne 7 pour cas 6
    Je crois qu'il faudrait utiliser un Array m'ais j'arrive pas à le faire correctement.

    Merci encore pour tes réponses: ca seraa plus facile à comprendre avec le fichier:

    http://www.cijoint.fr/cjlink.php?fil...cijEw0LDN3.xls

  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 : 67
    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 copy transpose
    Bonjour Ines, Bonjour le Forum

    Ines,

    Sans passer par les tabeaux, tu peux utiliser le collage special valeurs transpose.
    De plus, comme il y a une relation entre ton indice de Feuille Casx (Cas1, Cas2) et la ligne de la feuille Résult où tu souhaites copier tes données, tu peux utiliser une boucle.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub Macro2()
        Application.ScreenUpdating = False
        For i = 1 To 6
                Sheets("cas" & i).Range("AW19:AW34").Copy
                Sheets("Result").Range("B" & i + 1).PasteSpecial Paste:=xlPasteValues, Transpose:=True
                Sheets("cas" & i).Range("AW60:AW75").Copy
                Sheets("Result").Range("R" & i + 1).PasteSpecial Paste:=xlPasteValues, Transpose:=True
        Next
        Application.CutCopyMode = False
    End Sub
    En espérant que ce code te sera utile.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 11
    Par défaut
    justement je disais transpose parceque je ne veux pas coler en valeur mais garder les formules.

    Merci .

    Non c bon jvais laisser ca comme ca c déja très bieN.

    Merci beaucoup pour ton aide.

  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 : 67
    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 formule transpose
    Ines,

    Un peu de patience, je cheche!

    Ce qui est gênant, ce sont tes formules matricielles dans ta première série de formules. Il serait bien pour le code suivant qui resterait à adapter de transformer ces formules matricielles en séries de formules classiques avec références relatives (sans "$").

    On pourrait sinon adapter ce code aux cellules à partir de AW60 en 2 étapes

    1 -Transformation des références relatives en absolues

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Sub DoAbsolut()
     Dim inputFormula As String
     Dim outputFormula As String
     Dim cell As Range
     Dim rng As Range
     
    For i = 1 To 6
            Sheets("cas" & i).Activate
            Set rng = Range("AW60:AW75").SpecialCells(xlFormulas)
             For Each cell In rng
                    inputFormula = cell.Formula
                    outputFormula = Application.ConvertFormula( _
                        Formula:=inputFormula, _
                        fromReferenceStyle:=xlA1, _
                        toReferenceStyle:=xlA1, _
                        ToAbsolute:=xlAbsolute)
                    cell.Formula = outputFormula
             Next
     Next
     End Sub

    2 - Copie des formules en se référant aux différentes feuilles

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub Macro2()
        Application.ScreenUpdating = False
        For i = 1 To 6
                Sheets("cas" & i).Range("AW60:AW75").Copy
                Sheets("Result").Range("R" & i + 1).PasteSpecial Paste:=xlPasteFormulas, Transpose:=True
                Selection.Replace What:="=", Replacement:="=Cas" & i & "!", LookAt:=xlPart, _
                        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
                        ReplaceFormat:=False
                Selection.Replace What:="/", Replacement:="/Cas" & i & "!", LookAt:=xlPart, _
                        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
                        ReplaceFormat:=False
        Next
        Application.CutCopyMode = False
    End Sub
    A tester.

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

Discussions similaires

  1. Row & column coordinate
    Par verveine47 dans le forum Cognos
    Réponses: 1
    Dernier message: 12/06/2014, 10h45
  2. Signification de Range(Cell).Cells(Row, column)
    Par monsieurouxx dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 01/01/2013, 19h31
  3. Réponses: 0
    Dernier message: 02/05/2011, 16h10
  4. BackGround + grid.row/column x variable
    Par cKmel dans le forum Windows Presentation Foundation
    Réponses: 10
    Dernier message: 15/11/2009, 18h56
  5. [PPC][C#][Sql CE] erreur "no data exists for the row/column"
    Par Jessika dans le forum Windows Forms
    Réponses: 6
    Dernier message: 12/04/2007, 12h13

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