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 :

Copier/coller une plage de cellules


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 13
    Points : 8
    Points
    8
    Par défaut Copier/coller une plage de cellules
    Bonjour à tous !

    Je souhaite compter un nombre de lignes non vides puis faire un copier/coller d'une plage de cellules.
    Etant débutant, voici mon code :

    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
    19
    20
    21
    22
    23
    24
    Sub AjouterProjet()
     
    Dim V As Integer
    Dim Ligne As Integer
    Dim Cible As Range
    Dim PlageCible As Range
     
    V = 1
     
    While Worksheets("EngLocation").Cells(V, 2) <> "" '<-- ERREUR
     
    V = V + 1
    Ligne = V
     
    Wend
     
    Cible = Worksheets("EngLocation").Range(Cells(Ligne, 2))
    PlageCible = Worksheets("EngLocation").Range(Cells(Ligne - 4, 2), Cells(Ligne - 1, 6))
    PlageCible.Select
    Selection.Copy
    Cible.Select
    ActivseSheet.Paste
     
    End Sub

    Cela me marque : "L'indice n'appartient pas à la selection"

    Pourriez-vous commenter mon code ?

    Merci beaucoup par avance !!

    Bonne journée à tous.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    389
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 389
    Points : 437
    Points
    437
    Par défaut
    Bonjour

    à la place de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Cible = Worksheets("EngLocation").Range(Cells(Ligne, 2))
    PlageCible = Worksheets("EngLocation").Range(Cells(Ligne - 4, 2), Cells(Ligne - 1, 6))
    mettre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Set Cible = Worksheets("EngLocation").Cells(Ligne, 2)
    Set PlageCible = Worksheets("EngLocation").Range(Cells(Ligne - 4, 2), Cells(Ligne - 1, 6))
    Attention aussi à V qui peut être égal à 0 si B1 est vide

    JP

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    Merci pour votre réponse, cependant un message d'erreur persiste :

    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
    19
    20
    21
    22
    23
    24
    Sub AjouterComposant()
    
    Dim V As Integer
    Dim Ligne As Integer
    Dim Cible As Range
    Dim PlageCible As Range
    
    V = 7
    
    While Worksheets("SR").Cells(V, 2) <> ""
    
    V = V + 1
    Ligne = V
    
    Wend
    
    Set Cible = Worksheets("SR").Range(Cells(Ligne, 1))
    Set PlageCible = Worksheets("SR").Range(Cells(Ligne - 7, 1), Cells(Ligne, 2))
    PlageCible.Select
    Selection.Copy
    Cible.Select
    ActivseSheet.Paste
    
    End Sub
    Cela m'affiche : "Erreur d'application définie par l'application ou par l'objet"
    J'imagine que cela doit être un problème de syntaxe, mais où ?

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    Oups, pardon, j'avais mal lu votre correction. Le problème est résolu.

    Cependant pouvez -vous m'expliquer pourquoi il ne fallait pas utiliser "Ranger" en définissant la cellule ?

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/09/2014, 14h48
  2. Copier/coller une plage de cellule
    Par dimitri70 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 25/07/2013, 21h12
  3. [XL-2010] Copier coller une plage de cellules
    Par mariecaro dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/07/2013, 10h09
  4. [XL-2010] Pb pour copier coller une plage de cellule variable
    Par eglantine217 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/05/2012, 12h10
  5. Copier/coller une plage de cellules pleine de trous
    Par ouskel'n'or dans le forum Contribuez
    Réponses: 0
    Dernier message: 21/05/2008, 18h57

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