Problème avec RECHERCHEV
Résolu
barou_sanogo
Messages postés
27
Statut
Membre
-
Le Pingou Messages postés 12276 Date d'inscription Statut Contributeur Dernière intervention -
Le Pingou Messages postés 12276 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'aimerais savoir comment associer un VBA pour sélection multiple et la fonction RECHERCHEV.
Je veux générer autant de nature de marchandise qu'autant d'espèce manifestée. Quand je sélectionne un seul code tout fonctionne mais au delà c'est #N/A.
La formule utilisée dans la colonne P est: =SI(O10="";"";RECHERCHEV(O10;ref!$V$2:$W$65003;2;0))
La sélection multiple est dans la colonne O est en VBA:
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 2019/11/13
Dim xRng As Range
Dim xValue1 As String
Dim xValue2 As String
If Target.Count > 1 Then Exit Sub
On Error Resume Next
Set xRng = Cells.SpecialCells(xlCellTypeAllValidation)
If xRng Is Nothing Then Exit Sub
Application.EnableEvents = False
If Not Application.Intersect(Target, xRng) Is Nothing Then
xValue2 = Target.Value
Application.Undo
xValue1 = Target.Value
Target.Value = xValue2
If xValue1 <> "" Then
If xValue2 <> "" Then
If xValue1 = xValue2 Or _
InStr(1, xValue1, ", " & xValue2) Or _
InStr(1, xValue1, xValue2 & ",") Then
Target.Value = xValue1
Else
Target.Value = xValue1 & ", " & xValue2
End If
End If
End If
End If
Application.EnableEvents = True
End Sub
Merci de votre coup de main
J'aimerais savoir comment associer un VBA pour sélection multiple et la fonction RECHERCHEV.
Je veux générer autant de nature de marchandise qu'autant d'espèce manifestée. Quand je sélectionne un seul code tout fonctionne mais au delà c'est #N/A.
La formule utilisée dans la colonne P est: =SI(O10="";"";RECHERCHEV(O10;ref!$V$2:$W$65003;2;0))
La sélection multiple est dans la colonne O est en VBA:
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 2019/11/13
Dim xRng As Range
Dim xValue1 As String
Dim xValue2 As String
If Target.Count > 1 Then Exit Sub
On Error Resume Next
Set xRng = Cells.SpecialCells(xlCellTypeAllValidation)
If xRng Is Nothing Then Exit Sub
Application.EnableEvents = False
If Not Application.Intersect(Target, xRng) Is Nothing Then
xValue2 = Target.Value
Application.Undo
xValue1 = Target.Value
Target.Value = xValue2
If xValue1 <> "" Then
If xValue2 <> "" Then
If xValue1 = xValue2 Or _
InStr(1, xValue1, ", " & xValue2) Or _
InStr(1, xValue1, xValue2 & ",") Then
Target.Value = xValue1
Else
Target.Value = xValue1 & ", " & xValue2
End If
End If
End If
End If
Application.EnableEvents = True
End Sub
Merci de votre coup de main
6 réponses
-
Bonjour,
Avez-vous une explication que l'on puisse comprendre le problème!
-
-
Bonjour,
Je veux, dans un tableau excel, générer automatiquement dans une colonne "P" la désignation des marchandises en fonction de position tarifaire qui est dans un menu déroulant (Colonne O). Si je sélectionne deux ou trois HS_Code (qui s'affichent réellement dans la cellule dédiée) #N/A s'affiche dans la cellule qui doit contenir la désignation. Avec un seul code tout marche très bien. Il m'arrive de gérer des camions avec diverses marchandises (+ de deux).
Merci de votre coup de main.
Barou Sanogo
-
-
Bonjour,
Peut-être mettre le fichier sur https://www.cjoint.com/ et poster le lien.
Pour une capture d'écran, il faut l'enregistrer en .jpg et l'insérer comme image!
-
Bonjour,
Veuillez trouver ci-dessous le lien vers la capture d'écran
https://www.cjoint.com/c/KJChFeXLkcH -
Bonjour,
Veuillez trouver ci-dessous le lien vers le VBA utilisé
https://www.cjoint.com/c/KJCi6MFsovH -
-
-
Bonjour,
Je suis de retour, réponse demain.
Juste une question; vous avez plus d'un HS_code en colonne [O], est-il possible n'avoir qu'un seul par cellule Oui / non ?
Merci de votre explication!
-
Bonjour,
Il arrive très souvent que le même camion contienne plusieurs marchandises avec différents HS_Code. Avec la formule, pour un seul HS_Code tout marche très bien, mais au-delà c'est le problème. Je veux avoir autant de désignation de marchandise (dans la colonne P) qu'autant de HS_Code (dans la colonne O).
Cordialement.
-
-
Bonjour,
Merci, donc si vous avez plusieurs HS_Code dans la même cellule la Recherchev() doit être remplacée par une fonction personnalisée (VBA).
Patience.
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour,
Ma proposition avec fonction personnaliséeRechTous(valRech As Range)
, voir votre classeur.
Le lien : https://www.cjoint.com/c/KJDjCYtYaIn
-
Merci, pensez de marquer comme résolu si c'est le cas .