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 :

quel est le moyen de récuperer une cellule d'une ligne précédente


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 93
    Par défaut quel est le moyen de récuperer une cellule d'une ligne précédente
    Bonjour,
    Je souhaiterais savoir comment incrémenter une cellule avec une cellule qui se trouve sur la ligne du dessus.
    Je m'explique : j'ai un tableau qui se rempli au fure et à mesure en décalant à chaque fois la derniére ligne " Total" vers le bas. Or sur une série de cellule je dois renseigner des Indexs de consommation : par exemple en B2 je rentre l'ancien index, en C2 le nouvelle index puis la fois d'aprés je dois récupérer l'index en C2 pour le recopier en B3 ( il devient ainsi l'ancien index) et rentrer un nouvel index en C3 et ainsi de suite . La saisie des indexs se faisant par macro je ne sais pas comment appeler la cellule d'avant. Si j'avais un tableau avec un nombre de ligne bien défini un simple = et le nom de la cellule précédente suffirait, mais la comme je ne sais pas à l'avance le nom de la cellule précédente comment faire ?

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 117
    Par défaut
    Essaie la commande "Offset"


    Te permet d'obtenir la cellule sur la ligne juste au dessus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A2").Offset(-1,0)

  3. #3
    Membre Expert Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Par défaut
    Bonjour,
    Pour l'exemple donné ça pourrais ressembler à ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub test()
    Dim derligne As Integer
    With Sheets("Feuil1")
    'permet d'identifier le numéro de la derligne utilisée de la colonne B
    derligne = .Cells(.Rows.Count, 2).End(xlUp).Row
    'donne la valeur de la cellule C(x) à la nouvelle cellule B(x)
    .Cells(derligne + 1, 2).Value = .Cells(derligne, 3).Value
    End With
    End Sub
    J'ai pas Testé, il faut aussi adapter à tes besoins.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 93
    Par défaut
    merci pour vos éléments de réponse ! Le probléme est que j'ai mon code qui se présente de cette façon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    .Range("L" & Tot.Row - 1).Insert Shift:=xlDown 'inserer ligne au dessus
    .Range("L" & Tot.Row - 1) = 'cellule de la colonne M sur la ligne d'avant ( c'est ça que je cherche à nommer

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 117
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Range("L" & Tot.Row - 1) = .Range("M" & Tot.Row - 1).offset(-1, 0)

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 93
    Par défaut
    merci trollinou. Impecable

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 117
    Par défaut
    De rien ! au plaisir

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 12h17
  2. [Toutes versions] coller les données d'une plage d'une cellule dans une cellule d'une autre feuille[VBA]
    Par arthson dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/01/2012, 18h37
  3. [XL-2007] problème de codage en vba ("copie d'une partie d'une cellule dans une cellule vide")
    Par skipeemed dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 26/10/2010, 18h01
  4. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 13h59
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 14h48

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