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 :

Problème de recopie de données d'une partie de feuille sur une autre feuille excel


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Problème de recopie de données d'une partie de feuille sur une autre feuille excel
    pouvez vous tester ce code pour cela vous devez créer un dossier gestion a la racine de C:
    J'ai joint un fichier excel
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    Sub Enregistre_et_Nouveau()
     
    Dim nom As Workbook
    Dim chemin As String, extension As String, nomfichier As String
    With Application
       .ScreenUpdating = False
       .EnableEvents = False
    End With
    ThisWorkbook.ActiveSheet.Copy
    ActiveSheet.UsedRange.Activate
     
    With Selection
       .Copy
       .PasteSpecial Paste:=xlValues
       .Validation.Delete
    End With
    extension = ".xls"
    If ActiveSheet.Name = "ticket" Then
    chemin = "C:\Gestion\"
    nomfichier = ActiveSheet.Range("D21") & ("-") & Format(Now(), "dd-mm-yy") & extension
    End If
     
    With ActiveWorkbook
        .SaveAs Filename:=chemin & nomfichier
        .Close
    End With
    With Application
        .ScreenUpdating = True
        .EnableEvents = True
        Dim c As Integer
    With Application
        .ScreenUpdating = False
        .EnableEvents = False
    End With
    End With
    ActiveSheet.PrintOut Copies:=1
    With ThisWorkbook
        With ActiveSheet
         c = .Range("D21").Value
        .Range("D21").Value = c + 1
        If .Name = "ticket" Then
        .Range("A7:D16").ClearContents
            End If
    End With
        .Save
    End With
    With Application
        .ScreenUpdating = False
        .EnableEvents = False
    End With
     
    End Sub
    Sur une plage de données (a chaque impressions renouvellées )Ce que je cherche a faire est assez simple, imprimer (ça marche) effacer certaines données ( ça marche aussi) Là ou ça se complique c'est l'enregistrement , je voudrais enregistrer la plage de cellules B6 à D22 sur une autre feuilles excel dans le même classeur, et que chaques enregistrement soit en dessous du précédent toujour sur la même feuille. Ce qui ce passe avec mon code actuel, il me crée un nouveau classeur a chaque nouveau ticket et m'enregistre la feuille complète macro comprise. merci de votre aide
    Fichiers attachés Fichiers attachés

  2. #2
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Ben, avec ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With ActiveWorkbook
        .SaveAs Filename:=chemin & nomfichier
        .Close
    End With
    il est normal que tu obtiennes un nouveau classeur.

    Il vient d'où ton code?

    N'aurais-tu pas fait du Copier/Coller de morceaux de code trouvés au hasard???

    Pourquoi jongles-tu avec les ScreenUpdating et les EnableEvents?

    La programmation ce n'est pas ça!
    Essaye, au moins, de comprendre ce que tu utilises.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    le code viens d'une autre personne, moi je n'y connais pas grand chose a la programation, je cherche simplement a faire fonctionner une macro qui vas me simplifier la vie: un bouton sur une feuille excel ou il y as une rédaction de ticket de caisse, quand j'appuie ce bouton: copié collé l'un après l'autre sur une autre feuille, impression, effacement d'une partie des données, et création d'un nouveau no du ticket (x+1) Cela doit être réalisable avec VBA

  4. #4
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Oui, c'est parfaitement possible mais pas en copiant du code au petit bonheur la chance.

    Si tu veux que quelqu'un fasse le boulot à ta place, c'est dans le forum Offres d'emploi qu'il faut poster.
    Ici, c'est pour les gens qui programment.

    Si tu es prêt(e) à apprendre et à t'y mettre, bienvenue.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 6
    Points : 3
    Points
    3
    Par défaut merci pour votre reponse
    merci encore pour l'agressivité de votre réponse; je n'avait pas fait simplement que du copié collé, j'ai essayé comme un débutant que je suis de transformer ce programe qui m'as été donné pour l'améliorer et essayer de comprendre toujours comme un débutant ce qui ne fonctionnait pas, je m'attendais a une simple explication me signalant ou j'avais fait des erreurs , pour essayer de rectifier par moi même; mais je me suis effectivement trompé d'endroit, et vous prommet de ne plus jamais revenir sur ce site pour vous ennuyer

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Si on vous donne une info qui marche, DITES-LE!!!!
    Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres!
    ------------
    Je dois beaucoup de mes connaissances, à mes erreurs!


    Ha au fait! j'ai resolu mon problème; A force de chercher la solution, rien n'est insurmontable, je doit beaucoup à mes connaissance et à mes erreurs dont celle d'avoir cru a un coup de main . Merci alaintech,

  7. #7
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    On dirait que tu n'as pas lu cette partie de ma réponse
    Citation Envoyé par AlainTech
    Si tu es prêt(e) à apprendre et à t'y mettre, bienvenue.
    Il n'y avait pas d'agressivité (déliberée) dans ma réponse.
    Si elle t'a choqué, j'en suis désolé.

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/01/2013, 12h45
  2. Réponses: 2
    Dernier message: 11/10/2012, 14h33
  3. Réponses: 3
    Dernier message: 06/04/2012, 14h31
  4. [Toutes versions] Protection sur une partie des cellules provoque une erreur à l'éxécution de la macro
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 31/01/2012, 15h36
  5. Réponses: 5
    Dernier message: 28/08/2007, 14h00

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