A voir également:
- Double list + lancement de macros
- Double liste déroulante excel - Conseils pratiques - Excel
- Double liste - Conseils pratiques - Langage C
- Problème avec une double liste de recherche ✓ - Forum - Access
- Double liste conditionnelle sans macro ✓ - Forum - Excel
- Faire une double liste <li> ✓ - Forum - Webmaster
1 réponse
pijaku
- Messages postés
- 12235
- Date d'inscription
- jeudi 15 mai 2008
- Statut
- Modérateur
- Dernière intervention
- 6 janvier 2021
Bonjour,
Voici un code à placer dans le module de la feuille concernée :
Clic droit sur l'onglet de la feuille / Visualiser le code, copier-coller :
PS : Un MsgBox serait plus rapide et moins "coûteux". Quid des ordis sans HP? Quid si le son est coupé? etc...
Pour un msgbox, ce code suffit :
Cordialement,
Franck
Voici un code à placer dans le module de la feuille concernée :
Clic droit sur l'onglet de la feuille / Visualiser le code, copier-coller :
Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 Then 'SI cellule modifiée est en colonne A If Target.Cells.Count = 1 Then 'SI une seule cellule modifiée If Trouve(Target.Value) Then Douane 'SI trouve alors lance la Sub "Douane" End If End If End Sub Private Function Trouve(What As String) As Boolean Dim Rng As Range Set Rng = Me.Columns(3).Cells.Find(What) 'Cherche en colonne C Trouve = Not Rng Is Nothing End Function Private Sub Douane() Dim Sp As Object On Error Resume Next Set Sp = CreateObject("Sapi.SpVoice") If Sp Is Nothing Then Exit Sub Sp.Speak " Customs Control Detected" End Sub
PS : Un MsgBox serait plus rapide et moins "coûteux". Quid des ordis sans HP? Quid si le son est coupé? etc...
Pour un msgbox, ce code suffit :
Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 Then 'SI cellule modifiée est en colonne A If Target.Cells.Count = 1 Then 'SI une seule cellule modifiée Dim R As Range Set R = Trouve(Target.Value) If Not R Is Nothing Then MsgBox "Référence trouvée en colonne C, cellule : C" & R.Row End If End If End If End Sub Private Function Trouve(What As String) As Range Set Trouve = Me.Columns(3).Cells.Find(What) 'Cherche en colonne C End Function
Cordialement,
Franck
C'est EXACTEMENT ce que je cherchais ! Coupler a une mise en forme conditionnelle c'est juste MA-GNI-FI-QUE.
Pour infos le messagebox n'est pas pratique dans mon cas car je ne suis pas devant l'écran et je scan les boites a la chaine du coup je suis obliger d'avoir le signal sonore qui m'avertis que le carton scanner doit-être mis a l'écart.
Je te remercie énormément encore 1x !
Comme ceci :
Tu peux changer la fréquence et la durée...
C'est tout aussi intéressant, mais je viens de parler avec mon collègue et je t'avoue que les 2 pourraient nous êtres utiles.
Je dois juste m'arranger pour changer de version d'Excel car sur notre Scan nous utilisons Office 365 Free, du coup il ne prend pas en charge les Macros ce qui nous embêtent légèrement :)
Et ce Scan ne fonctionne pas en Plug and Play du coup impossible de passer par un Ordinateur portable ou autres.
2 Solutions reste a ma portée, changer de Scan et utiliser un de mes ordinateur portable ou prendre une version payante d'Office, le moins onéreux serais surement changer de Scan.