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 :

Formule pour récuperer valeur d'une cellule à partir d'une autre [XL-2007]


Sujet :

Macros et VBA Excel

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

    Informations forums :
    Inscription : Septembre 2010
    Messages : 93
    Points : 59
    Points
    59
    Par défaut Formule pour récuperer valeur d'une cellule à partir d'une autre
    Bonjour à tous.

    Je cherche un moyen de récuperer la valeur d'une cellule pour l'attribuer à une autre de la manière qui suit.

    J'ai un tableau avec mes 12 mois. Dans la colonne C je saisie via une textbox le dernier relevé d'energie d'une facture.
    Celui de janvier viens en C4. Si j'ai une facture en février , la valeur de B5 = C4 et ma saise du relevé viens en C5 ( comme ça je peux calculer la difference (C5 - B5) du mois, ici février)
    Or selon le poste que je traite je n'ai pas des factures tout les mois et des fois la prochaine est 2 ou 3 mois aprés.

    Comment récuperer la dernière valeur saisie de la colonne C pour la mettre dans la colonne B du mois ou il y a une facture.

    Exemple Janvier Saisie C4

    Avril Saisie C7 et doit récuperer C4 en B7

    J'avais pensé a un code avec des if ( si cellule précédente vide alors voir cellule d'avant et ainsi de suite jusqu'à en trouver une avec une valeur) Mais je pense que c'est long surtout pour le mois de Décembre car cela ferait 11 conditions.......)
    Merci par avance

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Bonjour,

    La première du code suivant te donne la dernière cellule remplie de la colonne C; la seconde t'indique seulement que le relevé du mois doit être positionné après :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Set c = [C:C].Find("*", , , , xlByRows, xlPrevious)
    [C7] = Me.TextBox1.Text
    Tu copies ensuite la valeur de c en colonne B.
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

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

    Informations forums :
    Inscription : Septembre 2010
    Messages : 93
    Points : 59
    Points
    59
    Par défaut
    Merci DANIEL
    Super ça marche comme je le souhaitai.
    Juste pour ma culture VBA, pourquoi les 4 "," dans le code ?

  4. #4
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    La méthode "Find" possède un tas de paramètres qu'il est d'ailleurs un peu dangereux de ne pas renseigner; soit tu mets des virgules, ainsi, xlbyrows est le 5e paramètre de la commande, ou tu indiques le nom du paramètre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set c = [C:C].Find("*", searchorder:=xlByRows, searchdirection:=xlPrevious)
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

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

Discussions similaires

  1. Filtrer une colonne à partir d'une cellule
    Par D-D-Du-06 dans le forum Excel
    Réponses: 7
    Dernier message: 21/04/2016, 11h26
  2. Réponses: 11
    Dernier message: 05/05/2011, 14h28
  3. [XL-2003] Problème pour renommer un fichier à partir d'une variable contenu dans une cellule
    Par the-geut dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/05/2010, 11h43
  4. Réponses: 1
    Dernier message: 15/03/2010, 14h03
  5. Lancer une macro à partir d'une cellule
    Par marc56 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 18/09/2007, 16h58

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