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 :

Début en VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Février 2012
    Messages : 10
    Par défaut Début en VBA
    Bonjour,

    Voila je viens tout juste de commencer la programmation en VBA et je ne suis pas sur de la syntaxe de mon code vu que rien ne se passe quand je l'éxécute... J'aurais voulu avoir un avis.


    Code vba : 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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    Sub Modif_valeur_butée()
    '
    ' Modif_valeur_butée Macro
    '
     
    '
        ActiveWindow.SmallScroll Down:=-3
     
        A = Range("K3").Select
        B = Range("K4").Select
        C = Range("K5").Select
     
        If (A = 1) Then
        Sheets("Données des butées").Select
        Range("A4:B22").Select
        Selection.Copy
        Sheets("Gestion Data des Butée F1").Select
        Range("C4").Select
        ActiveSheet.Paste
        Else
            If (B = 1) Then
            Sheets("Données des butées").Select
            Range("F4:G22").Select
            Application.CutCopyMode = False
            Selection.Copy
            Sheets("Gestion Data des Butée F1").Select
            Range("C4").Select
            ActiveSheet.Paste
            Else
                If (C = 1) Then
                Sheets("Données des butées").Select
                Range("K4:L22").Select
                Application.CutCopyMode = False
                Selection.Copy
                Sheets("Gestion Data des Butée F1").Select
                Range("C4").Select
                ActiveSheet.Paste
                End If
            End If
        End If
    End Sub


    Le but du programme est de modifier les valeurs de certaines cases en fonction du chiffre placé dans une autre.

    Merci

  2. #2
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2012
    Messages : 65
    Par défaut
    Salut,

    Je sais pas ce que tu veux vraiment faire mais essaie ce code la

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    Option Explicit
    Public currentwk As Workbook
    Public currentws As Worksheet
    Public currentws1 As Worksheet
    Sub Modif_valeur_butée()
    '
    ' Modif_valeur_butée Macro
     
        Set currentwk = ActiveWorkbook
        If currentwk Is Nothing Then Exit Sub
     
        Set currentws = currentwk.Worksheets("Données des butées")
        If currentws Is Nothing Then
        MsgBox "la feuille Données des butées n'existe pas!, vbCritical"
        Exit Sub
        End If
     
        Set currentws1 = currentwk.Worksheets("Gestion Data des Butée F1")
        If currentws1 Is Nothing Then
        MsgBox "la feuille Gestion Data des butées F1 n'existe pas!, vbCritical"
        Exit Sub
        End If
     
        If currentws.Range("K3") = "1" Then
        currentws.Range("A2:B22").Select
        Selection.Copy
        currentws1.Activate
        currentws1.Range("C4").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
     
        Else
            If currentws.Range("K4") = "2" Then
            currentws.Range("F2:G22").Select
            Selection.Copy
            currentws1.Activate
            currentws1.Range("C4").Select
            Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
     
            Else
                If currentws.Range("K5") = "3" Then
                currentws.Range("K4:L22").Select
                Selection.Copy
                currentws1.Activate
                currentws1.Range("C4").Select
                Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                :=False, Transpose:=False
                End If
            End If
        End If
    End Sub

  3. #3
    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,
    reprenant ton code Ozer45,en supprimant les "select" et"activate

    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
     
    Public currentws As Worksheet
    Public currentws1 As Worksheet
    Sub Modif_valeur_butée()
    Set currentws = Sheets("Données des butées")
    Set currentws1 = Sheets("Gestion Data des Butée F1")
    If currentws.Range("K3") = "1" Then
      currentws.Range("A2:B22").Copy
      currentws1.Range("C4").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    End If
    If currentws.Range("K4") = "2" Then
        currentws.Range("F2:G22").Copy
        currentws1.Range("C4").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
          :=False, Transpose:=False
    End If
    If currentws.Range("K5") = "3" Then
      currentws.Range("K4:L22").Copy
      currentws1.Range("C4").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    End If
    End Sub
    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...)

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Et avec ceci ?
    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
     
    Sub Modif_valeur_butée()
     
        'comme apparemment une seule des trois cellules peut avoir la valeur 1
        'il n'est pas nécessaire d'imbriquer les if
        With Sheets("Données des butées")
     
            If .Range("K3") = 1 Then
               .Range("A4:B22").Copy Sheets("Gestion Data des Butée F1").Range("C4")
            End If
     
            If .Range("K4") = 1 Then
                .Range("F4:G22").Copy Sheets("Gestion Data des Butée F1").Range("C4")
            End If
     
            If .Range("K5") = 1 Then
                .Range("K4:L22").Copy Sheets("Gestion Data des Butée F1").Range("C4")
            End If
     
        End With
     
    End Sub
    Hervé.

  5. #5
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2012
    Messages : 65
    Par défaut
    Salut,

    Ca simplifie de beaucoup ma macro c'est sur!!!!

    bravo à vous!!!

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Février 2012
    Messages : 10
    Par défaut
    Merci à vous j'ai pu alléger mon code et résoudre mon souci

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/05/2007, 12h57
  2. [VBA-Excel]Peut-on insérer des nouvelles lignes au début d'un fichier
    Par Jusomi31 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/05/2007, 15h03
  3. [VBA-W]Insérer caractère en début de ligne.
    Par brandtance dans le forum VBA Word
    Réponses: 3
    Dernier message: 15/01/2007, 22h30
  4. [VBA-E] Enlever les ' en début de cellule
    Par Deejoh dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 01/06/2006, 07h51
  5. [Livre] Débuts sur VBA 6.3 pour EXCEL 2002
    Par thulvar dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/12/2005, 10h45

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