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 :

Comment integrer une condition dans mon code sendkey


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Par défaut Comment integrer une condition dans mon code sendkey
    Bonjour le forum

    Je rencontre un soucis avec mon code sendkeys.
    En effet, le code me permet de renseigner automatiquement notre logiciel à partir des informations contenues dans une plage excel.
    Le problème qui se pose est que le logiciel est fait de telle sorte que lorsque la valeur de la cellule D7=3 (ce qui signifie que c'est femme mariée), le logiciel demande le nom et prenom du mari mais lorsque D7 = 2 ou 4, le logiciel saute les champs reservés au nom et prenom du mari.
    Puis que ma plage excel comporte en cellule D16 et D17, les cellules reservées au nom du mari.
    Comment faire pour que lorsque la valeur en D7 = 3, il prenne en compte la valeur des cellules D16 et D17.
    Mais si D7 est different de 3, il doit laisser les cellules D16 et D17 et aller directement à la cellule D18.
    Je reste à votre disposition si pas clair chez vous.
    Ci-joint le fichier.
    http://cjoint.com/?BGmj1t87wwn

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Si je comprend bien tu as un problème de condition

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Range("D7").Value = 3 then
        'Code Femme mariée
    Else
        'Code pour les autres cas
    End If

  3. #3
    Membre éclairé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Par défaut
    Salut jfontaine

    Merci pour votre réponse.
    Je ne sais pas si vous avez pris connaissance du code qui est dans le fichier joint.
    A quel niveau du code faut-il intégrer votre solution?
    Ci-desous le code:
    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
    Sub activesimple()
    'On Error GoTo gestionerreur
    If MsgBox("ASSUREZ-VOUS QUE VOTRE SESSION", vbYesNo, "Demande de confirmation") = vbYes Then
     
    AppActivate "ESSAI"
     
    'POSITIONNEZ-VOUS SUR LE MENU SIMPLIFIE IGOR SOUHAITE
    For I = 3 To 44
        SendKeys Cells(I, 4).Value, True
        attendre 0.6
        SendKeys "~"
        attendre 1
     
    Next
        SendKeys "+{F3}"
        attendre 1
    For I = 45 To 52
        SendKeys Cells(I, 4).Value, True
        attendre 0.6
        SendKeys "~"
        attendre 1
     
    Next
        SendKeys "+{F6}"
        attendre 1
     
    For I = 53 To 53
        SendKeys Cells(I, 4).Value, True
        attendre 0.6
        SendKeys "~"
        attendre 1
    Next
    Exit Sub
    gestionerreur:
    MsgBox "fichier non ouvert ou réduit dans la barre des tâches : abandon"
    End If
    End Sub
    Sub attendre(sec%)
    Dim deb&, fin&
    deb = Timer
    fin = deb + sec%
    Do Until Timer >= fin
    DoEvents
     
    Loop
    End Sub

  4. #4
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    A essayer

    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
    For i = 3 To 44
     
        Select Case i
            Case 16, 17
                If Cells(7, 4).Value = 3 Then
                     SendKeys Cells(i, 4).Value, True
                End If
            Case Else
                SendKeys Cells(i, 4).Value, True
        End Select
     
        attendre 0.6
        SendKeys "~"
        attendre 1
     
    Next

  5. #5
    Membre éclairé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Par défaut
    Salut jfontaine

    Merci pour prompt réaction.
    J’ai essayé d’adapter ta condition à mon cas réel.
    Ca ne marche pas bien. Par contre dans le fichier joint que je vous avais envoyé.
    Donc je me suis dis que j’ai pas bien ajusté.
    Ci-dessous ce que j’ai tenté et qui ne fonctionne pas bien pour appréciation :
    Sachant que ma plage de donnée réelle = H4 :J52.
    La condition porte sur j8 = 3 dans le cas réel et non en D7 pour le test.
    Merci pour tout.

    http://cjoint.com/?BGmqIc3u0f3

    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
    53
    54
    55
    56
    57
    Sub activeP()
    'On Error GoTo gestionerreur
    If MsgBox("ASSUREZ-VOUS QUE VOTRE", vbYesNo, "Demande de confirmation") = vbYes Then
     
    AppActivate "essai"
     
    'POSITIONNEZ-VOUS SUR LE MENU SIMPLIFIE IGOR SOUHAITE
    For I = 3 To 6
        SendKeys Cells(I, 10).Value, True
        attendre 0.6
        SendKeys "~"
        attendre 1
    Next
        SendKeys "N" & Chr(13), True
        attendre 0.6
        SendKeys "{LEFT}"
        SendKeys "{ENTER}"
        attendre 1
     
    For I = 7 To 43
        Select Case I
        Case 16, 17
        If Cells(8, 10) = 3 Then
        SendKeys Cells(I, 10).Value, True
        End If
        Case Else
        SendKeys Cells(I, 10).Value, True
        End Select
        SendKeys Cells(I, 10).Value, True
        attendre 0.6
        SendKeys "~"
        attendre 1
     
    Next
        SendKeys "+{F3}"
        attendre 1
    For I = 44 To 51
        SendKeys Cells(I, 10).Value, True
        attendre 0.6
        SendKeys "~"
        attendre 1
     
    Next
        SendKeys "+{F6}"
        attendre 1
     
    'For I = 51 To 51
        'SendKeys Cells(I, 10).Value, True
        'attendre 0.6
        'SendKeys "~"
        attendre 1
     
    Exit Sub
    gestionerreur:
    MsgBox "fichier non ouvert ou réduit dans la barre des tâches : abandon"
    End If
    End Sub

Discussions similaires

  1. une faute dans mon code javascript.
    Par jack_1981 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 11/05/2006, 03h05
  2. comment insérer une image dans mon .pas
    Par korntex5 dans le forum Langage
    Réponses: 3
    Dernier message: 04/05/2006, 11h54
  3. Comment importer une DLL dans du code???
    Par Jayceblaster dans le forum Delphi .NET
    Réponses: 29
    Dernier message: 19/04/2006, 19h19
  4. comment ajouter une image dans mon HTML??
    Par Mickey.jet dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 22/03/2006, 15h12
  5. Integrer une musique dans mon programme
    Par Tutux84 dans le forum C
    Réponses: 2
    Dernier message: 29/01/2005, 12h41

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