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 dans une macro


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 244
    Par défaut Problème dans une macro
    Bonjour à tous,

    Je suis bloqué sur une macro et je sais où ça bloque mais je sais pas comment résoudre mon problème.

    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
    Sub ENREGISTRER()
    
     ENREGISTRER Macro
    
        Sheets("TABLE").Select
        Rows("1:1").Select
        Selection.Copy
        Selection.End(xlDown).Select
        Selection.End(xlDown).Select
        Selection.End(xlDown).Select
        Range("A11").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Application.CutCopyMode = False
        Sheets("SAISIE DU CRF").Select
    End Sub
    Peut-on faire en sort que la sélection de la colonne A passe toujours au suivant car elle est toujours sur "A11".

    Merci à tous de votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Il semble bien évident qu'avec ce code il soit difficile de copier ailleurs que dans "A11" mais il faudrait savoir ce que vous voulez copier et jusqu'où.

    Est-ce que c'est toujours la ligne 1 que vous voulez copier en "A11" puis "A12" etc ou est-ce que 1:1 doit devenir 2:2 ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 244
    Par défaut précision
    Bonjour jacques_jean,

    Je crée une macro pour enregistrer la ligne 1 sur la suivante comme ton ex A11 puis A12 puis A13 puis A14 à chaque fois que j'exécute la macro.

    J'attends ta réponse.

    Merci de ton aide.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Si c'est à chaque fois que vous lancez la macro et que vous n'avez pas d'autres données que ces copies plus bas en colonne "A" :



    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
    Sub ENREGISTRER()
     
     ENREGISTRER Macro
     
        Sheets("TABLE").Select
        dl = Range("A65536").End(xlUp).Row
          If dl < 11 then
          dl = 11
          end if
     
        Rows("1:1").Select
        Selection.Copy
     
        'Je ne pense pas que les 3 lignes ci-dessous soient utiles
        Selection.End(xlDown).Select
        Selection.End(xlDown).Select
        Selection.End(xlDown).Select
        Range("A" & dl).Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Application.CutCopyMode = False
        Sheets("SAISIE DU CRF").Select
    End Sub
    A vérifier.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 244
    Par défaut retour de test
    Bonjour Jacques_Jean,

    Je viens de testé ton code mais il me fais la même chose il copie la première ligne toujours sur la même ligne.

    Je vais enlever les trois phrases que tu m'as indiqué pour voir si cela change quelque chose.

    Merci.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 244
    Par défaut re
    Je suis désolé mais cela n'a rien changé.

    peux-tu m'expliquer ta démarche pour que je comprenne.

    merci

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 244
    Par défaut solution du problème
    Bonjour à tous,

    un grand merci jacques_jean qui m'a aidé dans mon problème.

    voici le code de la solution

    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 enregistrer()
    '
    ' enregistrer Macro
    '
     
    '
        Sheets("TABLE").Select
        derniere_ligne = Range("A65536").End(xlUp).Row
        nouvelle_ligne = derniere_ligne + 1
        Rows("1:1").Select
        Selection.Copy
        Range("A" & nouvelle_ligne).Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Application.CutCopyMode = False
        Sheets("SAISIE DU CRF").Select
    End Sub
    Merci développez.com et merci à tous.

    PS: ne lachez pas du courage.

  8. #8
    Invité
    Invité(e)
    Par défaut
    Ok, c'est de ma faute.

    Petite rectification :

    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
    Sub ENREGISTRER()
     
     'ENREGISTRER Macro
     
        Sheets("TABLE").Select
        'recherche de la dernière ligne non vide en colonne "A"
        dl = Range("A65536").End(xlUp).Row
        'si la dernière ligne vide est < à 11 on l'initialise à la valeur 10
        'en effet lors de la copie la variable "dl" sera augmentée de 1
        'voir la ligne "Range("A" & dl + 1).Select" 
          If dl < 11 Then
          dl = 10
          End If
     
        Rows("1:1").Select
        Selection.Copy
     
        'Je ne pense pas que les 3 lignes ci-dessous soient utiles
        'Selection.End(xlDown).Select
        'Selection.End(xlDown).Select
        'Selection.End(xlDown).Select
        Range("A" & dl + 1).Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Application.CutCopyMode = False
        Sheets("SAISIE DU CRF").Select
    End Sub
    J'ai fait un essai et cela doit fonctionner.

  9. #9
    Invité
    Invité(e)
    Par défaut
    Je n'avais pas vu votre solution lorsque je vous ai adressé ma rectification.

    Donc vous avez raison votre solution fonctionne aussi si la dernière ligne trouvée n'est jamais inférieure à 10.

    Or vous dîtes bien que vous voulez copier à partir de la ligne 11 et si cette dernière ligne peut être, par exemple la ligne 7, vous allez faire la 1ère copie en ligne 8.

    Mais ce n'est qu'une hypothèse, vous connaissez mieux que moi la structure de fichier.

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 244
    Par défaut re
    Jacques_jean

    je ne t'avais pas précisez que "A11" était un chiffre sans importance.

    En fait les enregistrements commencent à partir de "A8".

    Merci de ton aide car sans toi je n'aurais pas trouvé car je connais pas la manière de faire des raisonnement avec le code VBA, n'y les synthaxes.

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

Discussions similaires

  1. [XL-2007] Problème dans une macro en VBA
    Par spartel dans le forum Excel
    Réponses: 2
    Dernier message: 06/07/2015, 12h17
  2. [XL-2007] Problème dans une macro pour ajouter une date
    Par INFINITY100 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/05/2015, 21h28
  3. [XL-2007] Problème dans une macro de saisie semi-automatique
    Par INFINITY100 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 14/05/2015, 20h00
  4. Problème dans une macro
    Par bentor22 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 02/05/2013, 11h22
  5. problème de condition dans une macro
    Par Skizo dans le forum Access
    Réponses: 3
    Dernier message: 15/05/2006, 12h22

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