[Déplacé de .Net --> VBA] SendKeys "^;" [Résolu]

Signaler
Messages postés
20
Date d'inscription
vendredi 9 mai 2003
Statut
Membre
Dernière intervention
2 octobre 2009
-
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
-
Const plage_depart = "essais"
Const feuille = "Feuil3"
Dim val1 As Variant


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  For Each C In Worksheets(feuille).Range(plage_depart)
       
        ligne = C.Row
        Colonne = C.Column
                     
        val1 = C.Value
      
    If val1 <> "" Then
           
           
         Cells(ligne, Colonne - 1).Select
           
         Application.SendKeys "^;"
            
    End If
  Next
End Sub
 bonjour à tous pourquoi cela fontionne pas
 je souhaite mettre SendKeys "^;" lorsque dans la plage "essais" il rencontre une cellule non vide dans une colonne de moins  il mets cette valeur  sinon  rien

 En remplacement de la formule =si (test_logique;SendKeys "^;";"") pour exemple merci à tous

7 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
70
Salut
Et ce SendKeys sert à quoi ?
Il doit bien y avoir une fonction plus précise et sérieuse que d'envoyer des caractères de controle, non ?
Eventuellement, ajoute un DoEvents juste avant le SendKeys + ajoute     , True    au SendKeys

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
20
Date d'inscription
vendredi 9 mai 2003
Statut
Membre
Dernière intervention
2 octobre 2009

ça me permet de mettre la date dans la cellule de la meme ligne mais colonne- 1 mais avec l'avantage à ce que cette date n'est pas mis a jour à l'ouverture du fichier comme =aujoud'hui()
et le tout automatique merci pour ta reponse
je vais essayer
merci encore
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
70
Mieux vaudrait simplement faire un
   Cells(ligne, Colonne).Offset(-1, 0).Value = Now
Il n'insère que la valeur de Now, pas la formule.
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
70
ou Offset(0, -1)
A vérifier dans l'aide
Messages postés
20
Date d'inscription
vendredi 9 mai 2003
Statut
Membre
Dernière intervention
2 octobre 2009

Private Sub CommandButton1_Click()

For Each C In Worksheets(feuille).Range(plage_depart)

ligne = C.Row
Colonne = C.Column

val1 = C.Value

If val1 = "" Then
Cells(ligne, Colonne - 1).Value = ""

End If
If val1 <> "" And Cells(ligne, Colonne - 1) = "" Then


Cells(ligne, Colonne - 1).Select
Cells(ligne, Colonne - 1).Value = Now

End If

If val1 <> "" And Cells(ligne, Colonne - 1) <> "" Then

End If

Next


résolu " merci a vous " @ bientôt
Messages postés
20
Date d'inscription
vendredi 9 mai 2003
Statut
Membre
Dernière intervention
2 octobre 2009

résolu " merci a vous " @ bientôt

merci jack
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
70
De rien.
C'était dans la série "Dis moi ce qui te tracasse et je te dirais comment t'en passer"