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 :

Recopie de Formules [XL-2000]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    993
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Par défaut Recopie de Formules
    Bonjour à Tous ,

    Je fais appel à votre aide car j'ai dans le fichier joint ( voir par ex CR21!R7 )
    le besoin d'effectuer des recopies des fomules XL en VBA mais j'avoue mon ignorance en ce domaine
    Le principe du fichier présenté est que l'utilisateur appuie sur un bouton pour inserer ou reocopier une ligne . Si pour l'insertion ou la recopie des lignes j'ai pu à peu près me débrouiller, je n'arrive pas à recopier les formules inscrites

    Merci donc par avance pour votre aide

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Bonjour,
    Evidemment, si tu remplace la formule par "" elle ne saurait pas y être
    supprimer la ligne..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        'Cells(DerLig, "K") = ""
    et allonger la copie pour avoir la dernière formule..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If Not Intersect(ActiveCell, Range("A5:P" & DerLig)) Is Nothing Then
        Range(Cells(lig, "A"), Cells(lig, "R")).Copy Destination:=Cells(DerLig, "A")
    A+

  3. #3
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    993
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Par défaut RE..
    Merci LeForestier

    J'ai honte

    Bien sûr , il est evident que si je reduit à "" j'ai plus rien comme quoi quand on a le nez dedans ...
    Merci quand même et mille excuses pour la perte de temps

    J'ai une autre question si tu le permets , j'ai effectué une insertion de ligne ( module 1) par le bouton "ajout ligne comande ouverte " et j'aurais voulu incerementer dans ce cas la colonne B mais cela ne marche que si je selectionne la ligne plus basse et non pas la ligne à incerementer
    ex
    010 001
    010 002 <= si je veux incrementer celle-ci
    je dois selectionner la ligne 020 000
    020 000

    Merci encore ...
    A+

  4. #4
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Comme ça ?
    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
    Sub AjoutLF()
    Dim DerLig As Long, lig As Long, i As Long
     
    DerLig = Range("A65500").End(xlUp).Row + 1
    lig = ActiveCell.Row
    'Ici tu faisais l'insertion AVANT de tester si la sélection est valable
    If Not Intersect(ActiveCell, Range("A5:P" & lig)) Is Nothing Then
        For i = lig To DerLig ' si pas cliquer sur le dernier ajout
            If Cells(i, 1) <> ActiveCell Then Exit For
        Next i
     
        Rows(i).Insert Shift:=xlDown
        Range(Cells(lig, "A"), Cells(lig, "P")).Copy Destination:=Cells(i, "A")
     
        Cells(lig, "A") = Cells(i - 1, "A")
        Cells(lig, "B") = Cells(i - 1, "B") + 1
    ....
    .....
    A+

  5. #5
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    993
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Par défaut RE...
    Euhh pas tout à fait
    Pourquoi tester les lignes actives si cette fonction est déjà utilisée "If Not Intersect ... " je ne comprends pas bien

    En fait , le pb est que l'utilisateur ajoute une nouvelle ligne en identifiant n'importe quelle colonne de son choix
    Je souhaiterai forcer l'utilisateur à choisr la ligne entière et non pas une colonne car si c'est le cas , un décalage malheureux se produit
    Il faudrait que la ligne choisit soit la dernière incrémenter en B et non pas en A


    Encore Merci
    A+

  6. #6
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    993
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Par défaut RE....
    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
    Sub AjoutLF()
    Dim DerLig As Long, lig As Long
     
    DerLig = Range("A65500").End(xlUp).Row + 1
    lig = ActiveCell.Row
     
    If Not Intersect(ActiveCell, Range("A5:Q" & DerLig)) Is Nothing Then
      Rows(lig).Insert Shift:=xlDown
      Range(Cells(lig, "A"), Cells(lig, "S")).Copy Destination:=Cells(lig, "A")
      lig = ActiveCell.Row
     
        Cells(lig, "A") = Cells(lig - 1, "A")
        Cells(lig, "B") = Cells(lig - 1, "B") + 1
        Cells(lig, "E") = "En Cours"
        Cells(lig, "H") = 0
        Cells(lig, "I") = 0
        Cells(lig, "J") = 0
     
     
       Else
        MsgBox "Sélectionner une ligne"
    End If
     
     
     
    End Sub
    Voilà mon code pour l'insertion mais je me heurte à la perte des formules
    Le principe est le suivant :
    L'utilisateur selectionne une ligne "pleine" avec en colonne B = "000" puis
    actionne le bouton "commande ouverte"
    Cette action entraine bien l'incrementation de la ligne précédente mais je perds une fois de plus les formules (?)


    A+

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

Discussions similaires

  1. E Vba Recopier la formule sur toute la feuille
    Par ibdiak dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 05/04/2009, 10h05
  2. recopie de formules excel avec incrémentation
    Par geraldmasteau dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/10/2008, 18h12
  3. recopier une formule de calcul
    Par lolo93 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 14/04/2008, 13h20
  4. Recopier une formule sur x lignes
    Par marco361020 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 08/01/2008, 10h07
  5. {VBA Excel}recopie de formules
    Par Thomas69 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/08/2007, 09h37

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