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 :

explication d'un code


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 46
    Par défaut explication d'un code
    Bonjour,
    Merci en avance de votre aide,
    J’ai eu ce code dans un forum, Je pense que ça réponds a mon objectif pour recopier les fonctions du linge précèdent sur une feuil de calcule, mais j’arrive pas a paramètre merci de m’avoir expliquer.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim Fin As Integer
    Range("a6").Select
    Fin = Range("a1").End(xlDown).Row
    Range("b1").Copy
    Range("b1:D" & Fin).Select
    Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Tu as une formule en B1 et tu veux la copier dans B1.Dfin
    je propose autofill
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim Fin As Long
    Fin = Range("A1").End(xlDown).Row
    Range("B1").AutoFill Destination:=Range("B1:D1")
    Range("B1:D1").AutoFill Destination:=Range("B1:D" & Fin)

  3. #3
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 46
    Par défaut re
    merci pour ta reponse,
    Normalement le code sert a recopier la formules de B1 C1 D1, a conditions que la cellule A correspondante a la linge ne soit pas vide. le problemes c'est quand je change la cellule de depart A6 ca n'amene a rien. je comprends rien ...
    merci

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fin = Range("A1").End(xlDown).Row
    s'arrête à la première cellule vide de la colonne A.
    essaie ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim Fin As Long, i As Long
    Fin = Cells(Rows.Count, 1).End(xlUp).Row
    For i = 2 To Fin
        If Range("A" & i).Value <> "" Then Range("B1:D1").Copy Range("B" & i & ":D" & i)
    Next i

  5. #5
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 46
    Par défaut
    merci, je l'es presenter comme suite, est ce que c'est correcte?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim Fin As Long, i As Long
    Fin = Cells(Rows.Count, 1).End(xlUp).Row
    For i = 2 To Fin
        If Range("A" & i).Value <> "" Then Range("B1:D1").Copy Range("B" & i & ":D" & i)
    Next i
    End Sub
    et si j'aimerai changer le point de depart pour la colonne A je dois faire comment?
    merci c'est gentil

  6. #6
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Tu veux que la copie ne commence qu'après la ligne 6 ou quoi?

  7. #7
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 46
    Par défaut
    j'aimerai bien savoir comment mettre pour changer le point de depart pour la colonne A? comment proceder pour que la copie des fonctions commence a A6 par exemple ou autre cellule de la colonne A.
    merci je suis vraiment dsl

  8. #8
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Un exemple de procédure avec comme paramètre la ligne de départ
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub Test(ByVal Deb As Long)
    Dim Fin As Long, i As Long
    Fin = Cells(Rows.Count, 1).End(xlUp).Row
    For i = Deb + 1 To Fin
        If Range("A" & i).Value <> "" Then Range("B" & Deb & ":D" & Deb).Copy Range("B" & i & ":D" & i)
    Next i
    End Sub
    par exemple, si on fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub CommandButton1_Click()
    Test 6  'Ligne de formule à copier en bas
    End Sub
    la formule de B6.D6 sera copier vers le bas

  9. #9
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 46
    Par défaut re
    merci de vos reponses,



    voila le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Target, Range("a1:a1000")) Is Nothing Then
    Dim Fin As Long, i As Long
    Fin = Cells(Rows.Count, 1).End(xlUp).Row
    For i = 16 To Fin
    If Range("A" & i).Value <> "" Then Range("A" & i).RowHeight = 14
    Range("E3:ES3").Copy Range("E" & i & ":ES" & i)
    Range("E" & i & ":ES" & i).RowHeight = 14
    Next i
    End If
    End Sub
    c'est presque le resulat que j'aimerai avoir, reste une seule chose, que j'aimerai en avoir une solution par votre aide,
    j'aimerai que la copies des formules prends fin dé la premiere cellule de colonne D non vide.
    merci encore

  10. #10
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Par exemple
    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
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Fin As Long, i As Long
    If Target.Cells.Count = 1 Then
        Fin = Cells(Rows.Count, 1).End(xlUp).Row
        If Not Application.Intersect(Target, Range("A1:A" & Fin)) Is Nothing Then
            For i = 16 To Fin
                If Range("D" & i) <> "" Then
                    Exit For
                Else
                    If Range("A" & i).Value <> "" Then
                        Range("E3:ES3").Copy Range("E" & i)
                        Rows(i).RowHeight = 14
                    End If
                End If
            Next i
        End If
    End If
    End Sub

  11. #11
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 46
    Par défaut re
    merci millllle merci a vous mercatog

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

Discussions similaires

  1. Explication sur du code javascript
    Par griese dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 21/07/2006, 09h40
  2. explications/commentaires de codes
    Par pascal913 dans le forum Access
    Réponses: 24
    Dernier message: 19/07/2006, 14h01
  3. cherche explication sur du code
    Par abdoulzak dans le forum Langage
    Réponses: 1
    Dernier message: 06/07/2006, 10h23
  4. besoin d'explications sur un code
    Par NAHIAG dans le forum C
    Réponses: 8
    Dernier message: 28/05/2006, 12h37
  5. [javascript] explication d'un code
    Par mzt.insat dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 05/04/2006, 23h52

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