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 :

inserer ligne code vba


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 25
    Par défaut inserer ligne code vba
    Bonjour

    Voila j'ai ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sheets("piedpage").Select
        ActiveWindow.SmallScroll Down:=-9
        Range("A1:F8").Select
        Selection.Copy
        Sheets("DEVIS").Select
        [A65536].Select
        Selection.End(xlUp)(2).Select
        ActiveSheet.Paste
        End Sub
    qui fonctionne bien mais j'aimerais mettre des conditions
    - si le nombre total de lignes est superieur à 40 on colle le pied de page
    - si le nombre total de ligne est inferieure à 40 on ajoute des lignes jusqu'à 40

    pensez-vous que cela soit possible???
    Merci d'avance pour votre aide
    Linda

  2. #2
    Membre émérite
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Par défaut
    bonsoir
    une piste pour toi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Sub InsererPiedDePage()
    'on recherche la dernière ligne de la colonne A de la feuille DEVIS
    derli = Sheets("DEVIS").Columns(1).Find("*", , , , , xlPrevious).Row
    'on cherche le multiple de 40
    derli = Application.Ceiling(derli, 40)
    'on colle
    Sheets("piedpage").Range("A1:F8").Copy Sheets("DEVIS").Range("A" & derli + 1)
    End Sub
    Tiens nous au courant. Je ne sais pas si ça correspond à ta demande.
    Donne plus de précisions

    Salutations

    fred65200

  3. #3
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 25
    Par défaut inserer ligne code vba
    Bonjour

    merci beaucoup pour ton aide, c'est exactement cela que je recherchais.
    par contre j'ai un probléme de "A1" à "A8" j'ai une image et cela ne me la prend pas, en fait cela selectionne à partir de LA LIGNE 9 ???
    et dans la selection que je colle comme pied de page j'ai des formules de calcul et donc des resultats mais il n'apparaissent pas???
    si tu as une idée merci d'avance
    Linda

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut lindette et le forum
    Citation Envoyé par lindette Voir le message
    ........
    qui fonctionne bien mais j'aimerais mettre des conditions
    - si le nombre total de lignes est superieur à 40 on colle le pied de page
    - si le nombre total de ligne est inferieure à 40 on ajoute des lignes jusqu'à 40
    ......................
    pensez-vous que cela soit possible???
    Un peu succint comme descriptif du problème :
    si tu as moins de 40 lignes (dernière ligne non-vide en A)
    On ajoute des lignes jusqu'à 40 ? Quelles lignes ? Coller le format d'une ligne de référence (mais laquelle ?) ne suffirait pas ?

    Si tu as 40 lignes :
    On fait quoi ? Cas non prévu dans le descriptif

    si tu as Plus de 40 lignes (dernière ligne non-vide en A)
    tu as 80 lignes : tu colles le pied de page en ligne 81 ? en ligne 40 ?
    Ne serait-il pas plus simple d'avoir le pied de page dans la mise en page prévue, et ajouter un Saut de page en ligne modulo 40 ?

    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
     
    Sub Test_2()
    Dim X As Long
    X = Sheets("DEVIS").[A65536].End(xlUp).Row
    If X < 40 Then
        Sheets("DEVIS").Cells(X, 1).EntireRow.Copy
        Sheets("DEVIS").Rows(X & ":40").PasteSpecial xlPasteFormats
        Sheets("piedpage").Range("A1:F8").Copy Sheets("DEVIS").Range("A40")
    Else
        Sheets("piedpage").Range("A1:F8").Copy
        Sheets("DEVIS").Range("A" & X + 1).PasteSpecial xlPasteAll
        Sheets("piedpage").Range("A1:F8").Copy
        Sheets("DEVIS").Range("A40").Insert Shift:=xlDown
    End If
    End Sub
    Teste ça et/ou explique correctement ton problème
    A+

  5. #5
    Membre émérite
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Par défaut
    bonjour lindette,

    Enlève le quadrillage de ton onglet piedpage et

    Mets le code suivant dans un module

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Sub InsererPiedDePage()
    'on recherche la dernière ligne de la colonne A de la feuille DEVIS
    derli = Sheets("DEVIS").Columns(1).Find("*", , , , , xlPrevious).Row
    'on cherche le multiple de 40
    derli = Application.Ceiling(derli, 40)
    'on copie le pied de page sous forme d'image
    Sheets("piedpage").Range("A1:F8").CopyPicture xlScreen, xlBitmap
    'et on colle
    Application.Goto Sheets("DEVIS").Range("A" & derli + 1)
    ActiveSheet.Paste
    End Sub
    Dis nous si ça te convient. Dans la ngative, envoie un classeur sans donnée personnelle

    ou applique la solution de Gorfael
    Ne serait-il pas plus simple d'avoir le pied de page dans la mise en page prévue, et ajouter un Saut de page en ligne modulo 40 ?
    Cordialement

  6. #6
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 25
    Par défaut inserer ligne code vba
    Bonjour

    Merci pour vos réponses.
    la première solution de Fred65200 me convient mais il me reste toujours
    - le probléme du logo qui est sur la feuille Devis de A1 à A8 qui n'apparait pas quand je veux imprimer
    et
    - dans le pied page j'ai le montant du devis mais cela colle le pied page sans les données.
    j'espére que vous comprendrez car ce n'est pas toujours facile à expliquer.
    Pour information j'essaie de créér ce logiciel pour une personne AVEUGLE, c'est pour cela que le maximum doit être automiser
    Merci encore beaucoup de votre aide
    Linda

  7. #7
    Membre émérite
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Par défaut
    bonjour,
    as tu essayé la seconde solution

    http://www.developpez.net/forums/sho...41&postcount=5



    fred65200

Discussions similaires

  1. [VBA-E et Pdf] Inserer par code un fichier pdf2 de plusieurs pages
    Par EvaristeGaloisBis dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 11/07/2008, 14h34
  2. Bug dans une ligne de code VBA
    Par orlacit dans le forum VBA Access
    Réponses: 5
    Dernier message: 08/11/2007, 15h25
  3. Inserer du Code VBA dans une prodedure stockée
    Par Soulkeum dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 27/09/2007, 12h23
  4. Inserer du code vba dans une macro
    Par gadget27 dans le forum Général VBA
    Réponses: 4
    Dernier message: 03/05/2007, 13h35
  5. ligne incompréhensible code VBA
    Par Anorgasmophobie dans le forum Général VBA
    Réponses: 5
    Dernier message: 01/05/2007, 14h43

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