Excel10 Ligne vierge de saisie haut tableau

Résolu
Marine63 -  
 Marine63 -
Bonjour,

Je suis en train de créer un tableau de saisie de chantiers d'entretien.
Le but est de venir le compléter régulièrement avec de nouveaux chantiers par l'utilisateur.
Je souhaitais savoir s'il était possible d'avoir une ligne blanche en première ligne de tableau qui permet la saisie d'un nouveau chantier. Et qu'après cette saisie, le chantier vient se mettre à la suite du tableau en bas.
Cela éviterai à l'utlisateur de descendre tout en bas du tableau à chaque nouveau chantier...

Merci beaucoup pour les réponses que vous pourrez m'apporter !

Cordialement,

25 réponses

  • 1
  • 2
  1. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Salut,

    Oui bien sur mais en VBA si tu as quelques notions
    0
  2. Marine63
     
    C'est là qu'est l'os hélas..

    Un petit exemple à me donner s'il vous plait Mike-31 !!
    0
  3. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    Pour faire simple, si tu veux déplacer les données de la plage A2 à K2 sur la première ligne vide de ton tableau

    il faut ouvir le visual clic en même temps les toches Alt et la F11, insérer un module et coller ce code à associer à un bouton

    Sub Déplace()
    Range("A2:K2").Cut
    Range("A65536").End(xlUp)(2, 1).Select
    ActiveSheet.Paste
    [A2].Select
    End Sub
    0
  4. Marine63
     
    hum hum... lol
    Bon je crois que c'est un peu compliqué pour moi...
    Mais merci quand même!!!

    Je vais tenter comme cela, sinon pas grave, nous resterons sur une ancienne méthode !!

    Bonne fin de journée !
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    ne baisse pas les bras comme cela,

    on va essayer de faire encore plus simple,
    (si tu me donne ta version excel je te donnerai point par point le cheminement
    pour créer sur ta feuille un bouton activeX )

    Private Sub CommandButton1_Click()
    Range("A2:K2").Cut
    Range("A65536").End(xlUp)(2, 1).Select
    ActiveSheet.Paste
    [A2].Select
    End Sub

    regarde le fichier joint, sur la ligne2 de A2 à K2 tu saisis des données et tu clic sur le bouton

    https://www.cjoint.com/?BCflVdQ8cq6
    0
    1. Marine63
       
      Je travaille sur Excel 2010.

      Je te rassure, je préfèrerais trouver la solution !! Alors je te suis point par point scrupuleusement. Merci de ^prendre le temps !

      j'ai ouvert ton fichier excel...c'est ce que je souhaite !!
      0
  7. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    on va avancer doucement

    As tu l'onglet Développeur visible au dessus de ton Ruban, il est juste à droite de l'onglet Révision et Affichage
    0
  8. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    Alors clic sur l'onglet Dévelppeur puis dans le module Contrôles sur Insérer, dans la partie basse de la boite à outils tu verras Activex clic sur le premier (Bouton de commande)

    va sur ta feuille et déssine ton bouton puis reviens je t'expliquerai le code
    A+
    Mike-31

    Une période d'échec est un moment rêvé pour semer les graines du savoir.
    0
  9. Marine63
     
    Ok,

    je l'ai créé, je vais manger en 3 min et je reviens faire ce que tu m'auras écrit !
    Merci !!!
    0
  10. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Clic droit sur le bouton et Visualiser le code
    sur la feuille Visual tu verras

    Private Sub CommandButton1_Click()

    End Sub

    entre les deux lignes tu colles ce code que tu pourras modifier plus tard

    Range("A2:K2").CutRange("A65536").End(xlUp)(2, 1).SelectActiveSheet.Paste[A2].Select

    ce qui donnera

    Private Sub CommandButton1_Click()
    Range("A2:K2").CutRange("A65536").End(xlUp)(2, 1).SelectActiveSheet.Paste[A2].Select
    End Sub

    une fois terminé fais signe
    0
  11. Marine63
     
    ok !

    Jusque là je te suis. J'en suis au même résultat.
    0
  12. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Dans le dernier post le code s'est mis sur la même ligne, je sais pas pourquoi,

    contrôle le il doit être comme cela et si une ligne est en rouge signale le moi

    Private Sub CommandButton1_Click()
    Range("A2:K2").Cut
    Range("A65536").End(xlUp)(2, 1).Select
    ActiveSheet.Paste
    [A2].Select
    End Sub

    Tu peux changer le texte du bouton qui actuellement est

    CommandButton1
    pour cela clic droit sur le bouton et Propriétés
    dans la boite de dialogue qui s'ouvre cherche Caption
    tu verras en face CommandButton1 efface le et met un titre à ton bouton comme Cliquez pour déplacer

    Pour adapter le code, cette ligne
    Range("A2:K2").Cut
    veut dire cellule de A2 à K2.Couper (il est facile de modifier la plage)

    cette ligne
    Range("A65536").End(xlUp)(2, 1).Select
    sélectionne la cellule A65536.remonte jusqu'à la première cellule non vide
    (2,1) redescend d'une ligne pour se positionner sur la cellule vide

    cette ligne
    ActiveSheet.Paste correspond à coller

    et [A2].Select revient sur la cellule A2

    Le système s'est automatiquement mis en mode création à la création du bouton, pour le libérer et tester ton travail, Onglet Développeur/module Contrôle désactive le mode création en un clic.

    Tu peux fermer les fenêtres qui seraient restées ouvertes
    0
  13. Marine63
     
    Ok donc j'ai tout fait. et le code était bien sur une ligne à part, pas comme sur ton poste (bizarre)...

    Alors J'ai 2 petits problèmes :

    1/ serait-il possible de conserver la mise en page de la ligne une fois que la confirmation de l'enregistrement a été faite? Je m'explique, quand j'appuie sur le boutton, ca me transfert bien la ligne en dessous, malheureusement dans ma ligne de "saisie" j'ai des listes déroulantes que ça me coupe aussi !

    2/On ne peut pas revenir en arrière après avoir validé l'enregistrement?

    Et ça m'a mis un débogage sur la ligne code "ActiveSheet.Paste".

    Voilà, je suis désolée de t'embêter avec cela !!! Mais je trouve cette fonction super alors j'aimerais bien que cela marche !!
    0
  14. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Ce n'est pas un problème, je vais t'écrire un autre code qui copiera et collera simplement les valeurs afin de ne pas toucher aux mise en forme de la ligne cible mais là je suis pris par le temps je reviens dans l'après midi
    0
  15. Marine63
     
    Pas de soucis, je comprends. Je le garde de côté.
    Merci beaucoup
    0
  16. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    maintenant que tu commences à te familiariser, entre ces deux lignes

    Private Sub CommandButton1_Click()

    End Sub

    remplace les lignes de code par ces lignes

    Range("A2:K2").Copy
    Range("A65536").End(xlUp)(2, 1).PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
    Range("A2:K2").ClearContents
    [A2].Select

    pour avoir

    Private Sub CommandButton1_Click()
    Range("A2:K2").Copy
    Range("A65536").End(xlUp)(2, 1).PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
    Range("A2:K2").ClearContents
    [A2].Select
    End Sub

    et dis moi ce qui se passe
    0
  17. Marine63
     
    Yeahhhhh ça marche !!!

    Par contre (tu vas finir par me haïr...prochaine question je change de pseudo !!) dans cette ligne de"saisie" j'ai aussi une formule de calcul.... qui s'en va quand la ligne se "copy"...
    0
  18. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Si ton fichier ce contient pas de notes confidentielles, peux tu le mettre à notre disposition, si oui clic sur ce lien, puis sur parcourir pour sélectionner ton fichier, puis sur créer le lien.
    Un lien sera géné, il suffira de le copier dans un post

    https://www.cjoint.com/
    0
  19. Marine63
     
    http://cjoint.com/?BCfqahcOyrz

    Voilà !!
    Je termine à 16h30 (j'attaque à 7h le matin...) donc je ne réponds plus après cet horaire. Mais j'en prendrais connaissance demain matin !
    Merci encore
    0
  20. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    En G3 la cellule est en erreur, que veux tu afficher !

    dans les lignes au dessous de la ligne 9, tu n'as pas besoin de conserver les formules qui seront effacé par le collage de la ligne 9,

    si toutes les cellules de la ligne 9 sont renseignées avant le déplacement de la ligne, il est possible de bloquer le déclenchement du code pour obliger l'utilisateur de mettre une donnée dans chaque cellule

    https://www.cjoint.com/?BCft2BMCogT
    0
  • 1
  • 2