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 :

[VBA-E] Macro pour copier cellules


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
    Mars 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 26
    Par défaut [VBA-E] Macro pour copier cellules
    Bonjour,

    je dois réaliser un travail urgent (ceux que j'adore, du matin pour le soir) sur Excel.

    J'ai fait quelques recherches, parcouru la FAQ VBA: je n'ai que des bases en VBA donc SVP, soyez indulgents.

    Dans mon classeur Excel, j'ai un tableau sur un onglet.
    J'ai crée un bouton sur lequel je dois clicker pour copier une plage de cellules.

    "La plage de cellules correspond aux 5 jours de la semaines avec, pour chaque jour, 17 créneaux horaires"

    Quand je click sur le bouton, je souhaiterai recopier mes 85 (5x17) lignes x 3 colonnes (1 colonne "jour", 1 colonne "créneau", et 1 colonne "infos")

    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
     
    Sub Rectangle30_QuandClic()
     
    Dim finplage As Long
    Dim debutplage As Long
    Dim lignevide As Long
     
    finplage = Range("F2:H2").End(xlDown).Row
    debutplage = Range("F2:H2").End(xlDown).Row - 84
    lignevide = Range("F2:H2").End(xlDown).Row + 1
     
    Range("F2:H2" & debutplage, "F2:H2" & finplage).Select
    'Range("F" & finplage").Activate
    'Range("F2:H2" & lignevide).Select
    Range("F2:H2" & lignevide).Copy
    ActiveSheet.Paste
     
    End Sub
    Merci de m'aider , sans me donner la réponse et sans taper SVP

    Je le répète, je débute franchement en VBA

  2. #2
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Salut

    Est-ce que la plage à copier se trouve toujours au même endroit?
    Si oui, définit une plage nommée (tape un nom dans la zone nom, voir image jointe) dans ton code tu peux appeler cette plage facilement

    Tu n'as même pas besoin de spécifier la feuille!

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 26
    Par défaut
    Citation Envoyé par zazaraignée
    Salut

    Est-ce que la plage à copier se trouve toujours au même endroit?
    Si oui, définit une plage nommée (tape un nom dans la zone nom, voir image jointe) dans ton code tu peux appeler cette plage facilement

    Tu n'as même pas besoin de spécifier la feuille!

    Non, la plage se décalera toujours vers le bas. Je souhaite créer un tableau qui listera, pour plusieurs semaines, un emploi du temps "sommaire" en fonction du jour et du créneau horaire => les cellules se décaleront donc de 85 lignes vers le bas : 5 jours x 17 créneaux.

    Tout ceci pour que la personne puisse de nouveau faire son planning pour la semaine suivante.

    Mon souci doit être de sélectionner la plage car j'arrive déja à fixer les extrémités par ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    finplage = Range("F2:H2").End(xlDown).Row
    debutplage = Range("F2:H2").End(xlDown).Row - 84
    lignevide = Range("F2:H2").End(xlDown).Row + 1
    J'ai un pb de syntaxe et je pige pas avec l'aide Excel VBA

    Merci pour ton aide en tout cas

  4. #4
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Salut

    J'ai pensé que cette plage était fixe parce que dans ton code le Range de dart est fixe... Si la plage en question est fonction de la date courante, faudra faire une recherche sur cette date
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    aujourdhui = Now()
    ' ...
    Enregistre une macro avec la fonction RechercheV et modifie le code...

  5. #5
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Aux lumières de ton message (privé - pas utile à mon avis... je t'expliquerai), je réitère ma question: La plage d'origine de cette copie est-elle toujours au même endroit?

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 26
    Par défaut
    Je t'ai MP car tu es le seul à me répondre et je voulais pas que le topic soit "up"

    Ma plage d'origine restera au même endroit... je ne sais cependant où tu veux en venir (c'est la que je me dis que je n'ai pas le VBA Spirit)

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

Discussions similaires

  1. [Toutes versions] Macro pour copier le contenu d'une cellule d'un fichier excel et coller dans une form
    Par wizishop dans le forum VBA PowerPoint
    Réponses: 3
    Dernier message: 16/10/2015, 12h05
  2. Réponses: 7
    Dernier message: 22/03/2011, 18h00
  3. [XL-2003] Macro pour copier une cellule d'un classeur à un autre sous condition
    Par mairiemeudon dans le forum Macros et VBA Excel
    Réponses: 25
    Dernier message: 14/06/2010, 15h28
  4. [VBA-E]Macro pour positionnement cellule
    Par Micky58 dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 25/04/2007, 11h54
  5. [VBA-E] Macro pour convertir un fichier texte en excel
    Par Nicolas67 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 15/05/2006, 14h47

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