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 copier/coller la valeur d'une cellule sur une cellule [Colone fixe - Ligne N+1 ] [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 13
    Par défaut Macro copier/coller la valeur d'une cellule sur une cellule [Colone fixe - Ligne N+1 ]
    Bonjour,

    J'ai besoin de votre aide. Je fais un tableau d'avancement. Je souhaite ajouter sur mon tableur un bouton "actualiser" qui copie coller la valeur d'une cellule (soit le taux d'avancement qui évoluera chaque jour en fonction des taches réalisés) dans un tableau me permettant de dessiner une courbe d'avancement.
    La cellule source est une formule qui calcul ce taux donc je souhaite en copier que la valeur, via l'enregistrement macro: j'ai un code du type:

    Range("F35").Select

    Selection.Copy

    Range("E62").Select

    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

    :=False, Transpose:=False

    Copier coller uniquement la valeur de la cellule c'est facile. La problématique est que la macro doit à chaque "click s'incrementer et séléctionner une cellule de ligne n+1.

    Est ce que cela est possible?
    Merci pour votre aide!
    Pamela

  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 : 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
    Bonjour Faustina et bienvenu sur ce forum,

    Grrrrrrr!!
    - Ces f.. Select qui n'apportent rien
    - Balises de code pour reporter ta procédure

    Il te faut définir la dernière cellule de ta colonne et y adjoindre ta valeur.

    Exemple

    (J'ai volontairement changé les adresses)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Public Sub essai_faustina()
     
    Dim dern_range As Range
     
    With Worksheets("Données")
          Set dern_range = .Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0)
          dern_range.Value = .Range("A1").Value
          Set dern_range = Nothing
    End With
     
    End Sub
    Reprends ces quelques lignes et reviens si nécessaire.

  3. #3
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    En supposant que la zone à copier est F35:F45 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Range("F35:F45").Copy
    Range("E62").PasteSpecial Paste:=xlPasteValues
    PS : même remarque que MarcelG concernant ces p***ns de Select.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 13
    Par défaut collage si condition/Recherche vertical
    En fait je pense que mon projet est beaucoup plus complexe, enfin trop à mon niveau

    pour mieux m'expliquer je vous joint un fichier Test collage(uniquement valeur) si condition respectée.xlsx.
    Il s'agit de coller si la condition est respectée . C'est presque une recherche vertical finalement, je vous explique:

    L'idée est de dessiner une courbe dans un graphique.
    pour ce graphique j'ai une colonne pré-remplie avec des dates Da et une colonne taux (c'est celle -ci que je souhaite mettre à jour via VB)

    j'ai une cellule date Da =aujourd'hui() et une cellule taux Td(qui se met à jour automatique en fonction des champs renseignés)

    A l'ouverture du fichier la date change et le taux varie (ou pas d'ailleurs)
    a ce moment la j'aimerai créer une fonction actualiser qui viens prendre la valeur Td et la positionner a coté de la cellule date correspondante telque D=Da

    Sauf si c'est possible sans VB mais faire une recherche V sur une cellule fixe (et contenant une formule), je connais pas.
    Help s'est un vrai casse tête pour moi

  5. #5
    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
    Bonjour Faustine,

    Tu adaptes.

    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
    Option Explicit
     
    Public Sub maj_taux()
     
    Dim lacells As Range
     
    With Worksheets("Feuil1")
          Set lacells = .Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0)
          With lacells
                .Value = Format(Date, "dd/mm/yy")
                .Offset(0, 1).Value = Worksheets("Feuil1").[E3]
          End With
          Set lacells = Nothing
    End With
     
    End Sub

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 13
    Par défaut
    Bonjour Marcel et merci pour ton aide. J'ai réussis à adapter ton code à mon tableau initial.
    Je suis de l'ancienne école, j'utilisait la fonction copy, la j'ai du mal à comprendre, mais je devine que Set .. et With .. qui fait la fonction copier coller? Set: la position et with la valeur. Tu confirmes? aussi, à aucun moment tu précises coller la valeur et le format de la cellule et cela fonctionne. pareil c'est la fonction Off.set .. .value= qui le dit?

    Par contre,
    BUG sur le cellule date; commentaire "cette cellule contient une date dont l'année contient uniquement 2 chiffres." Je comprend pas bien car si je change "Value = Format(Date, "dd/mm/yy")" par Value = Format(Date, "dd/mm/yyyy") l'erreur est la même:
    J'ai bien la date "d'aujourd'hui" qui s'affiche mais sur le graphique, elle n'est pas reconnu et est par défaut 00/01/00

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 13
    Par défaut
    Petite précision, si je corrige l'erreur manuellement il me propose: convertir en XX/19XX ou XX/20XX. En choisissant bien évidement 20XX. la valeur est bien prise en compte sur mon graph. Je comprend pas vu que la formule
    =Format(Date, "dd/mm/yy") semble aller cherche la date d'aujourd'hui est donc Excel devrait savoir qu'on est en 2018!

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

Discussions similaires

  1. [XL-2000] Copier coller des colonnes de plusieurs feuilles sur une nouvelle feuille en valeur
    Par tidi77 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 11/06/2018, 12h45
  2. [XL-2010] Macro : copier/coller des valeurs issues de classeurs différents
    Par Camoumou dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/05/2016, 11h17
  3. Réponses: 2
    Dernier message: 13/04/2012, 20h18
  4. [XL-2003] copier coller avec des séparateur puis formatage sur une ligne
    Par kalwin dans le forum Excel
    Réponses: 3
    Dernier message: 17/09/2010, 19h45
  5. [XL-2003] copie de cellules d'une feuille sur une autre
    Par jlppap dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 31/08/2009, 15h44

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