Petite traduction en VBA...
Résolu
Anthelm
Messages postés
198
Date d'inscription
Statut
Membre
Dernière intervention
-
Anthelm Messages postés 198 Date d'inscription Statut Membre Dernière intervention -
Anthelm Messages postés 198 Date d'inscription Statut Membre Dernière intervention -
Bonjour, à tous!
J'aimerais expliquer à Excel la chose suivante, mais il ne me comprend pas...
"Si dans la plage G2:R2 une donnée est saisie, et qu'elle est déjà présente dans G2:R2, renvoyer un message d'erreur"
Pourriez vous me le traduire svp? :)
Ce sont des entêtes d'un tableau et le fait qu'elle se renomme avec un indice "2" quand on saisi un doublon, ça me pose problème.
Il s'agit de listes déroulantes, donc impossible de passer par la validation de données, qui est déjà utilisée pour ça.
Merci!
J'aimerais expliquer à Excel la chose suivante, mais il ne me comprend pas...
"Si dans la plage G2:R2 une donnée est saisie, et qu'elle est déjà présente dans G2:R2, renvoyer un message d'erreur"
Pourriez vous me le traduire svp? :)
Ce sont des entêtes d'un tableau et le fait qu'elle se renomme avec un indice "2" quand on saisi un doublon, ça me pose problème.
Il s'agit de listes déroulantes, donc impossible de passer par la validation de données, qui est déjà utilisée pour ça.
Merci!
Configuration: Windows / Firefox 63.0
A voir également:
- Petite traduction en VBA...
- Google traduction photo - Guide
- Petite amie virtuelle en français gratuit - Accueil - Intelligence artificielle
- Traduction créole guadeloupe français reverso ✓ - Forum Loisirs / Divertissements
- Hibiki traduction telecharger - Accueil - Intelligence artificielle
- Waldik traduction - Forum Loisirs / Divertissements
3 réponses
Bonsoir,
'déclenche la macro quand une valeur de la feuille change Private Sub Worksheet_Change(ByVal Target As Range) Dim Rng As Range Set Rng = ActiveSheet.Range("G2:R2") 'Vérifie si dans la plage choisie If Not Application.Intersect(Target, Rng) Is Nothing Then 'verifie si la valeur existe déjà dans la plage ValueToSearchFor = Target.Value 'récupère la valeur saisie If Application.CountIf(Rng, ValueToSearchFor) > 1 Then MsgBox "La valeur " & ValueToSearchFor & " existe déjà" End If End If End Sub
Bonjour,
une proposition qui t'affiche la liste épurée des items déjà présents.
Créer une listbox sous la ligne de titres et :
https://www.cjoint.com/c/HKvjPHqC6ZU
eric
une proposition qui t'affiche la liste épurée des items déjà présents.
Créer une listbox sous la ligne de titres et :
Private Sub ListBox1_Click() ActiveCell.Value = ListBox1.Text End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim c As Range If Not Intersect(Target, [A2:E2]) Is Nothing Then With ListBox1 .Left = Target.Left .Clear .AddItem For Each c In [liste] If Application.CountIf([A2:E2], c.Value) = 0 Then .AddItem c.Value Next c .Visible = True End With Else ListBox1.Visible = False End If End Sub
https://www.cjoint.com/c/HKvjPHqC6ZU
eric
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("A3:AN502")) Is Nothing Then
Range("S1").Value = Target.Row
End If
End Sub
'déclenche la macro quand une valeur de la feuille change
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rng As Range
Set Rng = ActiveSheet.Range("G2:R2")
'Vérifie si dans la plage choisie
If Not Application.Intersect(Target, Rng) Is Nothing Then
'verifie si la valeur existe déjà dans la plage
ValueToSearchFor = Target.Value 'récupère la valeur saisie
If Application.CountIf(Rng, ValueToSearchFor) > 1 Then
MsgBox "La valeur " & ValueToSearchFor & " existe déjà"
End If
End If
End Sub
Et j'ai bien une ligne entre les deux. ça devrait marcher, non?