Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

Question macro Excel



  1. #1
    horos

    Question macro Excel


    ------

    Bonjour, je suis de passage sur le forum pour vous poser une question :

    Voila j'ai réalisé une macro pour un programme excel 2003 à l'aide du language VBA, mais après avoir modifié la mise en page de ma feuille (ajout, suppression de lignes...) ma macro a gardé les cellules définient au départ et elle n'a pas suivit les changement de mise en page, je m'explique :

    Imaginons que ma formule sélectionne la cellule A1 et que je décide de déplacer la valeur de cette cellule sur la cellule A2, j'aimerais que ma macro se mette à jour automatiquement de remplace la valeur A1 par A2. Je ne sais si c'est assez claire.

    Voici ma macro :

    Sub conditions_médiocres()

    Range("C20").Select
    ActiveCell.FormulaR1C1 = "8"
    Range("c69").Select
    ActiveCell.FormulaR1C1 = "0.7"
    Range("b198").Value2 = Range("g139").Value2
    Range("b199").Value2 = Range("g184").Value2

    End Sub

    Le problème étant qu'en modifiant ma mise en page toutes les cellules inscritent dans la macro ne correspondent plus à ce qu'elles étaient avant.

    Voila je vous remercie de vos réponses futures.

    Cordialement horos.

    -----

  2. #2
    Optimix

    Re : Question macro Excel

    Je vois une possiblité, c'est de nommer les plages (ou les cellules) qui doivent recevoir un contenu.

    Cliquez dans la cellule C20, allez dans le menu Insertion...Nom...Définir et donnez-lui comme nom "CelluleC20". Modifiez votre code comme suit : Range("CelluleC20").Select, etc.
    Même si vous supprimez des lignes et des colonnes (en dehors de la colonne C et de la ligne 20), le contenu ira dans la cellule nommée "CelluleC20".

  3. #3
    Lopgor

    Re : Question macro Excel

    Avec Excel je préfère manipuler les Cells plutôt que des Ranges.

    Engros le Range("c2") est à la même position que le Cells(2,3).

    La macro a l'air moins ringard sous cette forme.

    Cells(20,3).Value = 8
    Cells(69,3).Value = 0.7

    etc...

    Tu peux aussi spécifier la feuille

    Sheets("sheet1").Cells(row,col ).Value = une valeur..

Discussions similaires

  1. besoin d'une macro excel
    Par munsterkiler dans le forum Logiciel - Software - Open Source
    Réponses: 8
    Dernier message: 28/01/2012, 14h09
  2. macro excel
    Par ELAU62 dans le forum Programmation et langages, Algorithmique
    Réponses: 3
    Dernier message: 06/05/2011, 09h54
  3. macro excel
    Par alovesupreme dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 25/01/2009, 17h12
  4. macro Excel
    Par gwendoline dans le forum Logiciel - Software - Open Source
    Réponses: 8
    Dernier message: 11/10/2008, 19h06
  5. macro excel
    Par squall18 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 09/05/2006, 07h55