Formule VB trop longue

Bonjour,

j'ai cette formule assez longue à transformer en macro VB, mais je n'arrive pas à faire les bonnes coupures en utilisant " _".

Quelqu'un peut il m'aider ?

Merci

=SI(OU(C2="CHEVROLET (EUROPE)";C2="CHRYSLER";C2="DACIA";C2="RENAULT";C2="DAEWOO";C2="FIAT";C2="ALFA-ROMEO";C2="LANCIA";C2="FORD (EUROPE)";C2="FORD";C2="HONDA";C2="HYUNDAI";C2="JAGUAR";C2="JEEP";C2="KIA";C2="LADA";C2="LAND ROVER";C2="MAZDA";C2="MITSUBISHI";C2="NISSAN";C2="OPEL";C2="CITROEN";C2="PEUGEOT";C2="ROVER";C2="SSANGYONG";C2="SUBARU";C2="LEXUS";C2="TOYOTA")*(D2="CREA");"8";SI(OU(C2="BMW";C2="MINI";C2="DAIHATSU";C2="DODGE";C2="ISUZU";C2="MERCEDES";C2="SMART";C2="SAAB";C2="SUZUKI-SANTANA";C2="VOLVO")*(D2="CREA");"9";SI(OU(C2="AUDI";C2="SEAT";C2="SKODA";C2="VOLKSWAGEN";C2="IVECO";C2="PORSCHE")*(D2="CREA");"11";SI(OU(C2="DAEWOO";C2="FIAT";C2="ALFA-ROMEO";C2="LANCIA";C2="FORD";C2="FORD (EUROPE)";C2="MAZDA";C2="MITSUBISHI";C2="OPEL";C2="CITROEN";C2="PEUGEOT")*(D2="MAJ");"5";SI(OU(C2="CHEVROLET (EUROPE)";C2="CHRYSLER";C2="DACIA";C2="RENAULT";C2="HONDA";C2="HYUNDAI";C2="JAGUAR";C2="JEEP";C2="KIA";C2="LADA";C2="LAND ROVER";C2="NISSAN";C2="ROVER";C2="SSANGYONG";C2="SUBARU";C2="TOYOTA";C2="LEXUS")*(D2="MAJ");"6";SI(OU(C2="BMW";C2="MINI";C2="DAIHATSU";C2="DODGE";C2="AUDI";C2="SEAT";C2="SKODA";C2="VOLKSWAGEN";C2="ISUZU";C2="IVECO";C2="MERCEDES";C2="SMART";C2="PORSCHE";C2="SAAB";C2="SUZUKI-SANTANA";C2="VOLVO")*(D2="MAJ");"7";SI(OU(C2="BMW";C2="MINI";C2="CHEVROLET (EUROPE)";C2="CHRYSLER";C2="DACIA";C2="RENAULT";C2="DAEWOO";C2="DAIHATSU";C2="DODGE";C2="FIAT";C2="LANCIA";C2="ALFA-ROMEO";C2="FORD";C2="FORD (EUROPE)";C2="HONDA";C2="HYUNDAI";C2="ISUZU";C2="JAGUAR";C2="JEEP";C2="KIA";C2="LADA";C2="LAND ROVER";C2="MAZDA";C2="MERCEDES";C2="SMART";C2="MITSUBISHI";C2="NISSAN";C2="OPEL";C2="CITROEN";C2="PEUGEOT";C2="ROVER";C2="SAAB";C2="SSANGYONG";C2="SUBARU";C2="SUZUKI-SANTANA";C2="TOYOTA";C2="LEXUS";C2="VOLVO")*(D2="UPGR");"7";SI(OU(C2="AUDI";C2="SEAT";C2="SKODA";C2="VOLKSWAGEN";C2="IVECO";C2="PORSCHE")*(D2="UPGR");"8";"0"))))))))

Bonjour...Si les marques sont regroupées dans une colonne, il y a un moyen très certainement plus simple que de traduire votre formule. Faites nous parvenir le fichier en question avec un exemple du résultat attendu pour que l'on puisse vous aider. Au passage je salue votre patience pour arriver à écrire une formule aussi grande.

Voilà le fichier et la formule est en colonne I

10mar.xlsx (16.04 Ko)

Bonsoir,

Je te propose de créer un module et d'y insérer le code suivant :

Function Valeur(Marque As Range, Statut As Range)
If (Marque = "CHEVROLET (EUROPE)" Or Marque = "CHRYSLER" Or Marque = "DACIA" Or _
   Marque = "RENAULT" Or Marque = "DAEWOO" Or Marque = "FIAT" Or _
   Marque = "ALFA-ROMEO" Or Marque = "LANCIA" Or Marque = "FORD (EUROPE)" Or _
   Marque = "FORD" Or Marque = "HONDA" Or Marque = "HYUNDAI" Or _
   Marque = "JAGUAR" Or Marque = "JEEP" Or Marque = "KIA" Or Marque = "LADA" Or _
   Marque = "LAND ROVER" Or Marque = "MAZDA" Or Marque = "MITSUBISHI" Or _
   Marque = "NISSAN" Or Marque = "OPEL" Or Marque = "CITROEN" Or _
   Marque = "PEUGEOT" Or Marque = "ROVER" Or Marque = "SSANGYONG" Or _
   Marque = "SUBARU" Or Marque = "LEXUS" Or Marque = "TOYOTA") And Statut = "CREA" Then
Valeur = 8
ElseIf (Marque = "BMW" Or Marque = "MINI" Or Marque = "DAIHATSU" Or _
   Marque = "DODGE" Or Marque = "MERCEDES" Or Marque = "SMART" Or _
   Marque = "SAAB" Or Marque = "SUZUKI-SANTANA" Or Marque = "VOLVO") And Statut = "CREA" Then
Valeur = 9
ElseIf (Marque = "AUDI" Or Marque = "SEAT" Or Marque = "SKODA" Or _
   Marque = "VOLKSWAGEN" Or Marque = "IVECO" Or Marque = "PORSCHE") And Statut = "CREA" Then
Valeur = 11
ElseIf (Marque = "DAEWOO" Or Marque = "FIAT" Or Marque = "ALFA-ROMEO" Or _
   Marque = "LANCIA" Or Marque = "FORD" Or Marque = "FORD (EUROPE)" Or _
   Marque = "MAZDA" Or Marque = "MITSUBISHI" Or Marque = "OPEL" Or _
   Marque = "CITROEN" Or Marque = "PEUGEOT") And Statut = "MAJ" Then
Valeur = 5
ElseIf (Marque = "CHEVROLET (EUROPE)" Or Marque = "CHRYSLER" Or Marque = "DACIA" Or _
   Marque = "RENAULT" Or Marque = "HONDA" Or Marque = "HYUNDAI" Or _
   Marque = "JAGUAR" Or Marque = "JEEP" Or Marque = "KIA" Or Marque = "LADA" Or _
   Marque = "LAND ROVER" Or Marque = "NISSAN" Or Marque = "ROVER" Or Marque = "SSANGYONG" Or _
   Marque = "SUBARU" Or Marque = "LEXUS" Or Marque = "TOYOTA") And Statut = "MAJ" Then
Valeur = 6
ElseIf (Marque = "BMW" Or Marque = "MINI" Or Marque = "DAIHATSU" Or _
   Marque = "DODGE" Or Marque = "AUDI" Or Marque = "SEAT" Or _
   Marque = "SKODA" Or Marque = "MERCEDES" Or Marque = "SMART" Or _
   Marque = "VOLKSWAGEN" Or Marque = "ISUZU" Or Marque = "IVECO" Or _
   Marque = "PORSCHE" Or Marque = "SAAB" Or Marque = "SUZUKI-SANTANA" Or _
   Marque = "VOLVO") And Statut = "MAJ" Then
Valeur = 7
ElseIf (Marque = "CHEVROLET (EUROPE)" Or Marque = "CHRYSLER" Or Marque = "DACIA" Or _
   Marque = "RENAULT" Or Marque = "DAEWOO" Or Marque = "FIAT" Or _
   Marque = "ALFA-ROMEO" Or Marque = "LANCIA" Or Marque = "FORD (EUROPE)" Or _
   Marque = "FORD" Or Marque = "HONDA" Or Marque = "HYUNDAI" Or _
   Marque = "JAGUAR" Or Marque = "JEEP" Or Marque = "KIA" Or Marque = "LADA" Or _
   Marque = "LAND ROVER" Or Marque = "MAZDA" Or Marque = "MITSUBISHI" Or _
   Marque = "NISSAN" Or Marque = "OPEL" Or Marque = "CITROEN" Or _
   Marque = "PEUGEOT" Or Marque = "ROVER" Or Marque = "SSANGYONG" Or _
   Marque = "BMW" Or Marque = "MINI" Or Marque = "DAIHATSU" Or _
   Marque = "DODGE" Or Marque = "ISUZU" Or Marque = "MERCEDES" Or _
   Marque = "SMART" Or Marque = "SAAB" Or Marque = "SUZUKI-SANTANA" Or Marque = "VOLVO" Or _
   Marque = "SUBARU" Or Marque = "LEXUS" Or Marque = "TOYOTA") And Statut = "UPGR" Then
Valeur = 7
ElseIf (Marque = "AUDI" Or Marque = "SEAT" Or Marque = "SKODA" Or _
   Marque = "VOLKSWAGEN" Or Marque = "IVECO" Or Marque = "PORSCHE") _
   And Statut = "UPGR" Then
Valeur = 8
Else
Valeur = 0
End If

End Function

Suite à ça, dans ton fichier en cellule I2 tu entre =Valeur(C2;D2)

Cela répond il à ton attente ?

Merci beaucoup.

C'est exactement ce que je cherchais

Bonjour, ma contribution avec le listing en prime dans une feuille annexe.

15mar.xlsm (27.95 Ko)
Rechercher des sujets similaires à "formule trop longue"