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 ligne saisie en cours vers une autre feuille du même classeur [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Vba14
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2019
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2019
    Messages : 440
    Par défaut Copier ligne saisie en cours vers une autre feuille du même classeur
    Bonjour à toutes et à tous,

    Voici mon problème : Dans une feuille Excel ("Arch_Bât"), je saisie des données sans l'aide d'un formulaire. Je souhaiterai qu'à chaque fois que je saisie une ligne dans mon tableau et que je passe à la ligne suivante, la précédente soit copiée vers un tableau de la feuille ("Général") à partir de la ligne 1540.

    Donc insertion d'une ligne, et copie des données.

    Est-ce possible sans formulaire et comment ?

    Merci par avance pour votre aide

    Amicalement

  2. #2
    Membre Expert Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Par défaut
    Bonjour VBA, bonjour le forum,

    Le problème est de savoir à quel moment on sait que la ligne est remplie (quelle colonne) pour déclencher le copier/coller ? Si tu t'es trompé et que tu modifies une donnée après le copier/coller comment fait-on ?

  3. #3
    Membre éclairé Avatar de Vba14
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2019
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2019
    Messages : 440
    Par défaut
    Bonjour Thautheme,

    Merci pour ta réponse.

    La dernière colonne est la colonne P du tableau de la feuille "Arch_Bât". Les tableaux sont identiques dans les deux feuilles, mais le tableau général concentre plusieurs feuilles.

  4. #4
    Membre éclairé Avatar de Vba14
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2019
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2019
    Messages : 440
    Par défaut
    Bonjour halaster08,

    Merci pour ta réponse, nos posts se sont croisés.

    Mais comment fonctionne ton code ? Désolé je ne comprends pas Comment dois-je le lancer ?

  5. #5
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 681
    Par défaut
    Comment dois-je le lancer ?
    Je ne comprends pas ta question, comme n'importe quel macro ? Mon code n'a rien de particulier.

  6. #6
    Membre éclairé Avatar de Vba14
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2019
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2019
    Messages : 440
    Par défaut
    Voilà ce que j'essaie de faire mais je peine beaucoup.

    J'ai trouvé un modèle de code sur le forum que j'essaie d'adapter à ma situation, mais je rame un peu.
    Est-ce que je suis sur la bonne voix ?

    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
     
    Sub validation_Copie()
    Dim derlig As Integer, i As Integer
    Dim validée As String 
    Application.ScreenUpdating = False
    With Sheets("Général") derlig = .Range("A65536").End(xlUp).Row + 1
    End With
    Sheets("Arch_Bât").Activate For i = Sheets("Arch_Bât").Range("E65536").End(xlUp).Row To 2 With Sheets("Général")
    'à partir d'ici on recopie les données de la feuille "Arch_Bât" vers la feuille "Général"
    .Cells(derlig, 1) = Sheets("Arch_Bât").Cells(i, 1)
    .Cells(derlig, 2) = Sheets("Arch_Bât").Cells(i, 2)
    .Cells(derlig, 3) = Sheets("Arch_Bât").Cells(i, 3)
    ……
    .Cells(derlig, 16) = Sheets("Arch_Bât").Cells derlig = derlig + 1
    End With
    End If
    Next
    Sheets("Arch_Bât").Activate
    Application.ScreenUpdating = True
    End Sub

  7. #7
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 681
    Par défaut
    Bonjour,

    A lancer manuellement quand tu as fini de remplir ta ligne avec n'importe quel cellule de cette ligne activée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    sub insert_et_copie
    sheets("Général").rows(1540).insert
    activecell.entirerow.copy destination:= sheets("Général").rows(1540)
    end sub

  8. #8
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 478
    Par défaut
    Bonjour,

    Je viens de survoler les posts de ce fil, au début c'était 1540, puis 1530, 1555, ...
    Il faudrait savoir comment peut-on déterminer la destination sans l'écrire en dur dans la macro.
    - la dernière ligne ?
    - la ligne située après ou avant la ligne qui contient xxxx dans la colonne cccc ?
    - ....

  9. #9
    Membre éclairé Avatar de Vba14
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2019
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2019
    Messages : 440
    Par défaut
    Bonjour Patrice740,

    Merci pour ta participation. C'est normal que le numéro de la ligne évolue puisque j'ajoute des données. Au début de la conversation j'étais à la ligne 1540 et maintenant 1555.
    Mes nouvelles données doivent s'insérer ensuite, les unes après les autres, après le double-clic.

  10. #10
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 478
    Par défaut
    Citation Envoyé par Vba14 Voir le message
    C'est normal que le numéro de la ligne évolue puisque j'ajoute des données. Au début de la conversation j'étais à la ligne 1540 et maintenant 1555.
    Mes nouvelles données doivent s'insérer ensuite, les unes après les autres, après le double-clic.
    Ça ne répond pas à la question : « comment peut-on déterminer la destination sans l'écrire en dur dans la macro »
    Puisque tu insère, c'est qu'il y a quelque chose après ...

  11. #11
    Membre éclairé Avatar de Vba14
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2019
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2019
    Messages : 440
    Par défaut
    Bonjour le forum, bonjour Patrice740,

    En effet, il me faut insérer les nouvelles données les unes après les autres entre la ligne 1560 et 1561 (des données ont été ajoutées depuis notre dernière discussion).
    Donc, les prochaines nouvelles données viendront les unes après les autres à partir de la ligne 1561.

    Voici une copie écran pour vous permettre de visualiser le fichier

    Doc1.docx

  12. #12
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 681
    Par défaut
    Citation Envoyé par Vba14 Voir le message
    Voici une copie écran pour vous permettre de visualiser le fichier
    Doc1.docx
    Pourquoi planquer ta capture d'écran dans un docx ...
    Tu sais qu'on peut faire apparaitre directement les images dans le message

    En effet, il me faut insérer les nouvelles données les unes après les autres entre la ligne 1560 et 1561 (des données ont été ajoutées depuis notre dernière discussion).
    Donc, les prochaines nouvelles données viendront les unes après les autres à partir de la ligne 1561.
    Je pense que tu n'as pas compris la question, on a bien compris que tu ajoutes des lignes a chaque fois, mais puisque ce n'est pas la dernière ligne de ton tableau et qu'on ne peut pas y mettre une valeur fixe, comment faire que la macro reconnaisse la ligne en question ? comment toi tu fais pour savoir où copier ? quelle particularité a cette ligne ?

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 30/04/2019, 14h31
  2. Réponses: 2
    Dernier message: 06/02/2015, 18h51
  3. Réponses: 1
    Dernier message: 13/10/2014, 01h12
  4. [XL-2010] copier et coller dans une autre feuille du même classeur VBA
    Par awa123 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/08/2014, 19h35
  5. [XL-2000] Comment copier-coller d'une feuille vers une autre d'un même classeur ?
    Par juju05 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 01/07/2014, 15h40

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