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 :

insertion ligne+ boite dialogue [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2011
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 88
    Par défaut insertion ligne+ boite dialogue
    Bonjour,

    J'ai crée un code pour insérer une ligne avec copie des éléments de la ligne n-1. Sur la nouvelle ligne en première celllule je veux faire apparaitre une boite de dialogue pour saisir et insérer le nouveau numéro de semaine.....seulement je n'arrive pas à terminer le code.... soit il m'affichait un message d'erreur ou soit le nouveau numéro s'inserait sur toutes les cellules de la ligne.Pouvez vous m'aider ?

    Par avance merci

    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
    Private Sub CommandButton1_Click()
    Dim r As Integer
    r = ActiveCell.Row
    Rows(r).Select
    If MsgBox("Voulez-vous ajouter une ligne ?", _
                        vbYesNo + vbQuestion + vbDefaultButton2, "Ajout") = vbYes Then
    Selection.Insert Shift:=xldwon
    Range("a" & r - 1).Select
    Selection.Copy
    Range("a" & r).Select
    ActiveSheet.Paste
    .......
    Application.CutCopyMode = False
    Range("a" & r).Select
    Range("q" & r - 1).Select
    Selection.Copy
    Range("q" & r).Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
     
    'nous allons insérer une boite de dialogue pour insérer le nouveau
    'numéro de semaine
    Rows(r).Select
    InputBox ("Entrez le numéro de la nouvelle semaine !")
    Selection.typetext ??????????
     
    End If
     
    End Sub
    Cordialement
    ronin .01

  2. #2
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonsoir.

    Pour le bout qu'il te manque
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    'nous allons insérer une boite de dialogue pour insérer le nouveau
    'numéro de semaine
    Cells(r,1) = InputBox ("Entrez le numéro de la nouvelle semaine !")string
     
    End If
    Quand tu utilises l'enregistreur de macros, tu enregistres tout ce que fais l'opérateur au travers de son interface du même nom. Du coup tu as des Select partout, et les objets sont désignés par Selection.
    Il n'est pas bon de garder le code dans cette forme : c'est instable et très lent en exécution. Tu dois apprendre à manipuler les objets.

    Les sélections et activations ne s'utilisent qu'avec le Corse et l'Arménien.

    COrdialement,

    PGZ

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2011
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 88
    Par défaut [XL-2007] insertion ligne+ boite dialogue
    bonsoir,

    Merci pour votre réponse, je vais inscrire ce code dans ma macro.

    Oui je suis bien conscient de la lourdeur de ma macro.mais Je suis débutant et je cherche mes infos dans les faq, différents tutoriels du site et surtout les personnes présentes sur le site répondent à mes questions et qui m'aident beaucoups, mais certaines choses sont encore pour moi du vrai chinois !!!!!.

    Cordialement
    Ronin.01

  4. #4
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonsoir,
    avec les conseils de pgz, un exemple d'épuration de 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
    Private Sub CommandButton1_Click()
    Dim r As Integer
    r = ActiveCell.Row
    If MsgBox("Voulez-vous ajouter une ligne ?", _
                        vbYesNo + vbQuestion + vbDefaultButton2, "Ajout") = vbYes Then
    Selection.Insert Shift:=xlDown
    Range("a" & r) = Range("a" & r - 1)
    '.......
    Range("q" & r) = Range("q" & r - 1)
     
    'nous allons insérer une boite de dialogue pour insérer le nouveau
    'numéro de semaine
    Cells(r, 1) = InputBox("Entrez le numéro de la nouvelle semaine !")
    End If
     
    End Sub
    en espérant que ça t'aide !
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2011
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 88
    Par défaut [XL-2007] insertion ligne+ boite dialogue
    bonjour,

    Effectivement la macro s'exécute beaucoup plus vite ainsi, merci de ton aide. j' en prends bonne note.
    Bonne journée.

    Cordialement
    ronin.01

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

Discussions similaires

  1. Boite dialogue + Affichage d'un bitmap
    Par gids01 dans le forum MFC
    Réponses: 8
    Dernier message: 23/11/2005, 17h50
  2. Insertion lignes
    Par Isa31 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 11/05/2005, 11h32
  3. Réponses: 10
    Dernier message: 21/04/2005, 11h00
  4. Pb procedure insertion ligne
    Par richton95 dans le forum Oracle
    Réponses: 3
    Dernier message: 17/03/2005, 22h01
  5. [MFC] Impression d'une boite dialogue
    Par mick74 dans le forum MFC
    Réponses: 5
    Dernier message: 03/06/2004, 11h02

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