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 :

Ecrire à la suite [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
    Octobre 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 31
    Par défaut Ecrire à la suite
    Bonjour,

    j'aimerai copier le contenu de la Colonne A de la feuille "Base" vers la feuille "Historique" à la suite des données déja présentes de la colonne B.


    Voilà mon code, sachant que :
    --> la cellule H1 de la feuille "Base" représente le compte des cellules remplies de la colonne A (avec la formule =nbval )
    --> la cellule B1 de la feuille "Historique" représente le compte des cellules templies de la colonne B (avec la formule =nbval )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    N = Worksheets("Base").Range("H1")
    M = Worksheets("Feuil_historique").Range("B1")
    Worksheets("Base").Range("A1:A&N&").Select
    Selection.Copy
    Worksheets("Feuil_historique").Range("B&M&").Paste
    Malheurseusement je n'y arrive pas, est-ce que quelqu'un peut m'aider ?

    Merci d'avance.

  2. #2
    Membre Expert Avatar de Jean-Pierre49
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2007
    Messages
    659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 659
    Par défaut
    Bonjour le forum



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    N = Worksheets("Base").Range("H1")
    M = Worksheets("Feuil_historique").Range("B1")
     
    Worksheets("Base").Range("A1:A" & N).Copy
    Worksheets("Feuil_historique").Range("B" & M).Paste

  3. #3
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    bonjour dolin007 Jean-Pierre49 le forum. un autre exemple attention au noms des feuilles

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With Sheets("Base")
    .Range("a1:a" & .Range("a65536").End(xlUp).Row).Copy _
    Destination:=Sheets("Historique").Range("b65536").End(xlUp)(2)
    End With

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 31
    Par défaut
    Alors, pour ta proposition Jean-Pierre, j'ai une erreur d'execution '438' "Propriété ou methode non gérée par cet objet"...

    Et Laetitia, ta proposition de code me copie toute la feuille "Base" pour la coller à partir de la suite de la feuille "Historique".

    J'ai bien fait attention aux noms dans les 2 cas.

    Je continue de chercher, vos réponses me donnent des pistes.

    Si vous avez des idées n'hésitez pas,

    merci

  5. #5
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    re, mettre le nom des feuilles puis essai comme cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub essai()
    Dim N As Long, M As Long
    N = Sheets(1).Range("H1")
    M = Sheets(2).Range("B1")
    With Sheets(1)
    Sheets(1).Range("A1" & ":a" & N).Copy _
    Destination:=Sheets(2).Range("b" & M)
    End With
    End Sub

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 31
    Par défaut
    Une précision, la colonne A de la feuille "historique" est composée de formules, comment faire pour ne copier que le résultat de ces formules et non les formules elles même ?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 31
    Par défaut
    Ca marche presque, ce qu'il me faudrait c'est une solution pour copier les valeurs des cellules, et non les formules. Que peux-tu me proposer ?

    Merci d'avance !

  8. #8
    Membre Expert Avatar de Jean-Pierre49
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2007
    Messages
    659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 659
    Par défaut
    Avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub essai()
    Dim N As Long, M As Long
    N = Sheets(1).Range("H1")
    M = Sheets(2).Range("B1")
     
    Sheets(1).Range("A1:A" & N).Copy
    Sheets(2).Range("B" & M).PasteSpecial Paste:=xlPasteValues
     
     
    End Sub

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 31
    Par défaut
    PERFECTO ! MERCI LAETITIA, MERCI JEAN PIERRE ! Jvais pouvoir avancer sur mon projet à présent.

  10. #10
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Et sans passer par le presse papier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub essai()
    Dim N As Long, M As Long
    N = Sheets(1).Range("H1")
    M = Sheets(2).Range("B1")
    Sheets(2).Range("B" & M &":B" & M+N-1).Value=Sheets(1).Range("A1:A" & N).Value 
    End Sub
    Et je propose de s'en passer du N et M en H1 et B1 respectivement(à chercher en fonction des données remplies des 2 feuilles)

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

Discussions similaires

  1. ecrire à la suite d'un fichier
    Par bobyboby dans le forum Débuter
    Réponses: 3
    Dernier message: 24/09/2008, 11h42
  2. Ecrire à la suite d'un fichier
    Par ramon.dekker dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 23/09/2008, 20h24
  3. Ecrire à la suite dans une cellule
    Par jack51106 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 31/01/2008, 13h24
  4. Réponses: 2
    Dernier message: 31/07/2006, 16h26
  5. Ecrire à la suite du texte dans un fichier
    Par micatmidog dans le forum Général Python
    Réponses: 2
    Dernier message: 21/12/2005, 19h38

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