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 :

Où ajouter des lignes dans ce codes [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 grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Par défaut Où ajouter des lignes dans ce codes
    bonjour a vous tous
    dans ce code trouvé sur le net et modifié pour mes besoins
    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
    Sub Créer_La_Facture()
    Dim Sh As Worksheet, Trouve As Range
    Feuil9.Copy
    Set Sh = ActiveSheet
    Sh.Name = "Facture " & Sh.Range("D1").Value
    Sh.Range("D1") = "FACTURE"
    With Sh
            With .Range("C:C")
                'Cette méthode recherche des informations spécifiques dans une plage.
               Set Trouve = .Find(What:="Arrêtée Somme", LookIn:=xlValues, _
                    LookAt:=xlPart, MatchCase:=False, SearchDirection:=xlNext)
                'Cette méthode renvoie Nothing si aucune correspondance n'est trouvée
               If Not Trouve Is Nothing Then
                    'Si on a un résultat, on définit la plage à effacer
                   'Dans ce cas, on décale d'une ligne et on redimensionne
                   'la plage de 20 lignes et 2 colonnes
                   Trouve.Offset(1).Resize(20, 2).Delete (xlUp)
                End If
            End With
        End With
    End Sub
    a quel endroit peut-on ajouter des lignes afin de copier sur la feuille devis d'autres informations
    et aussi comment quand le code est appelé créer un bouton automatiquement et inclure un code a ce bouton, ou faire appel a un code dans le classeur qui a fait appel a cette macro

    Pascal

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 186
    Par défaut
    Bonsoir,

    Le but du code d'origine est de transformer la feuille Devis en une feuille Facture.
    La feuille Devis doit correspondre à Feuil9 qui est copié pour créer la feuille Facture via Feuil9.Copy.

    Donc :
    -si tu veux modifier le devis, agit sur Feuil9, avant de faire la copie.
    - si tu veux modifier sur le devis copié, agit sur Sh.

    quand le code est appelé créer un bouton automatiquement et inclure un code a ce bouton, ou faire appel a un code dans le classeur qui a fait appel a cette macro
    Le plus simple serait d'ajouter directement le bouton dans la feuille Devis d'origine afin qu'il soit copié.
    De cette manière le code et le bouton serait copié en même temps.

    Mais tout dépend de ce que tu veux faire. En expliquant le but du bouton et du code associé, on pourra peut être te conseiller une solution adaptée.

    Pour ce qui est de la méthode utilisée pour repérer la zone Range("C:C").Find(What:="Arrêtée Somme") ne me paraît pas la plus adaptée.
    Je regarderais plus du côté des cellules/plages nommées.

  3. #3
    Membre éclairé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Par défaut
    bonjour BlueMonkey
    merci de ta réponse, en effet ce code est pour créer une facture sur devis, le problème est que je n'utilise qu'une feuille pour mes devis et factures, il y a le nom de la feuille et le bas de page qui changent en fonction du choix sur un bouton

    Je regarderais plus du côté des cellules/plages nommées.
    justement pour le changement de nom feuille il y a des cellules nommées qui agissent en fonction du nom de feuille demandé
    dont voici le code pour un devis
    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
    With Sheets("facture")
     
        .Range("E13:E15").Value = ""
        .Range("reste").Value = ""
        .Range("MTTC2").Value = ""
        .Range("valtva2").Value = ""
        .Range("dont").Value = ""
        .Range("tva").Value = ""
        '.Range("acsdev").Value = ""
        .Range("paie").Value = "par chèque "
        .Range("modpaie").Value = "mode de paiement "
        .Range("acom").Value = ""
        .Range("acompte").Value = ""
        .Range("surdev").Value = ""
        .Range("arret").Font.Underline = xlUnderlineStyleSingle
        .Range("arret").Value = "Arrêté le présent devis à la somme de : "
        .Range("cli").Value = "Le Client "
        .Range("moi").Value = "artisan... "
        .Range("recep").Value = "à réception du devis"
        .Range("datfac").Value = "date de paiement "
        .Range("reste:MTTC2").Borders(xlEdgeTop).LineStyle = xlNone
        .Range("D1").Value = "DEVIS"
        .Range("chiflet").Font.ColorIndex = xlAutomatic
      End With
     
      Call versacompte
      Call Signé
      Call Bon
      Call Acceptation
      Call Validité
      Call Comme
      Call suivant
    Pascal

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 186
    Par défaut
    Bonjour,

    le problème est que je n'utilise qu'une feuille pour mes devis et factures, il y a le nom de la feuille et le bas de page qui changent en fonction du choix sur un bouton
    Pour modifier le nom et le bas de page d'une feuille copiée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        ActiveSheet.Copy  'copie la feuille courante dans un nouveau classeur
        ActiveWorkbook.ActiveSheet.Name = "facture xx"
        With ActiveSheet.PageSetup
            .LeftFooter = "Ma partie gauche"
            .CenterFooter = "Mon centre"
            .RightFooter = "Ma partie droite"
        End With
    justement pour le changement de nom feuille il y a des cellules nommées qui agissent en fonction du nom de feuille
    Et quel est le problème ?

  5. #5
    Membre éclairé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Par défaut
    bonjour BlueMonkey

    merci pour ta réponse, je cherche une solution pour créer une facture sur devis et fouille le net pour cela, mais je ne trouve pas la correspondance ce code est le mieux que j'ai trouvé car il me créer la facture, mais pas plus hors il faudrait qu'il puisse prendre l'incrémentation des factures en même temps que le changement de nom
    et quel est le problème
    tu m'a mis un lien qui m'avais déjà aidé pour nommer les cellules

    Pascal

  6. #6
    Membre Expert
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 186
    Par défaut
    Ok donc pour les cellules nommées, c'est déjà appliqué, et il n'y a pas de problème.

    Pour l'opération que tu souhaites faire, le résultat est généralement nettement meilleur si on définit précisément ce que l'on souhaite,
    puis qu'on cherche à le code, plutôt que d'essayé d'adapter du code pas toujours adapté à notre situation,
    et ne prend pas en compte tous les besoins (du coup le code n'est pas toujours adapté à la demande).

    Donc le mieux est d'essayer de résumer ce que tu as besoin.
    Puis de voir commet l'implémenter.

    Si je résume ton besoin :
    1. tu souhaite pour créer un devis : pour ça tu as une feuille modèle que tu complète manuellement.
    Tu as besoin d'incrémenter le numéro de devis automatiquement ?
    Est-ce qu'il faut gérer un numéro de révision lorsque tu refais un autre devis pour une même commande ? (O/N)
    Est-ce qu'il stocker les révisions d'un même devis dans le même classeur, autre classeur ?
    Comment sont incrémentés les numéros de devis ? Par rapport aux derniers devis établis ou bien autre méthode ?
    Ou est qu'on peut stocker le numéros de devis (un fichier annexe regroupant une liste des devis établis ?)

    2. A partir du devis tu souhaites "convertir" le devis en facture.
    -Commet sont incrémentés les numéros de factures ?
    - Par rapport au numéros de devis ? ou bien par rapport au dernier numéro de facture établi ?
    -Comment sont formés les numéros de facture ? (ex :YY - 2 digits pour l'annnée "-" un numéro unique qui est incrémenté).
    -Ou est qu'on peut stocker le numéros de facture (un fichier annexe regroupant une liste des factures établies ?)

    3. Enregistrer les devis et factures.
    Comment sont nommées les fichiers devis et factures ?
    Comment sont-ils rangés sur le disque dur (un dossier par commande (avec un sous-dossier devis + un sous-dossier factures),
    ou bien un dossier devis avec tous les devis, et un dossier factures avec toutes les factures ?

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

Discussions similaires

  1. [Débutant] Ajouter des lignes dans un tableau en code behind
    Par Netpasnet dans le forum ASP.NET
    Réponses: 2
    Dernier message: 15/03/2012, 21h09
  2. Ajouter des lignes dans un DataGridView au moment du design?
    Par ferradji dans le forum Windows Forms
    Réponses: 3
    Dernier message: 28/03/2007, 14h05
  3. Ajouter des lignes dans un fichier *.log
    Par Fred2209 dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/12/2006, 15h15
  4. Réponses: 14
    Dernier message: 22/09/2005, 16h49

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