Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Diverses formules dans la même cellule

  • Initiateur de la discussion Initiateur de la discussion solo84
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

solo84

XLDnaute Junior
Bonjour à tous,

Tout d'abord, comme cela est mon premier message, je vous félicite tous pour ce fabuleux forum.
J'aurais besoin de vos conseils sur un sujet qui me préoccupe depuis quelques temps.
Je suis en train de créer un formulaire qui devra effectuer des calculs sur plusieurs tableaux simultanément. J'ai créer deux fonctions de calculs de test.
Je vais tenter de vous expliquer aussi clairement que possible.
Je sélectionne dans une première liste le pays de destination, une seconde cellule m'affiche alors les différents codes postaux une fois celui-ci choisit avec une fonction recherche-v je trouve la ligne correspondante au pays et au code postal.
Vous me direz ou est le problème !!! J'ai 28 pays et une seule cellule !!! Comment puis je afficher la formule adéquate correspondante à la sélection du pays ?
J'ai pensé a passer par le VBA avec une succession de If then en fonction du string rentré.
Mais j'aurais souhaité avoir vos avis sur la question u une piste de travail.
Je ne vous ai pas joint de fichier car il est constitué de 30 tableaux différents et un peu lourd.
Je prépare un fichier d'exemple avec seulement 2 pays et 2 transporteurs afin que cela soit plus clair.
Merci de toute l'aide que vous pourriez m'apporter et de toute votre gentillesse !

Bien amicalement,

Solo
 
Re : Diverses formules dans la même cellule

Le code suivant te semble t-il coherent :
Option Explicit
Private Sub Worksheet_Change()
Range("D8").Select
If ActiveCell="Suisse" Then
Range("F8").Formula= Formule N°1
Else If ActiveCell="Autriche" Then
Range("F8").Formula= Formule N°2

End If
End Sub

Puis je avoir ton avis sur la question ?
 
Dernière édition:
Re : Diverses formules dans la même cellule

Option Explicit

Dim WS As Worksheet
Dim valeur As Range

Private Sub Worksheet_Activate()

valeur = Range("D12")

End Sub


Private Sub Worksheet_Change(ByVal Target As Range)
Range("D12").Select
If Range("D12").Value = "Suisse" Then
Range("H13").FormulaR1C1 = "=SI(ESTNA(RECHERCHEV($D$13,CP!$Q$5:$R$53,2,FAUX)),"",RECHERCHEV($D$13,CP!$Q$5:$R$53,2,FAUX))"
Else
If Range("D12").Value = "Autriche" Then
Range("H13").FormulaR1C1 = "=SI(ESTNA(RECHERCHEV($D$13,CP!$Q$5:$R$53,2,FAUX)),"",RECHERCHEV($D$13,CP!$Q$5:$R$53,2,FAUX))"
End If
End If
End Sub


J'ai modifié le code et ça ne marche toujours pas !! Snif snif
 
Re : Diverses formules dans la même cellule

Ca marche !!! Mais ca ne marche qu'avec une fonction somme ! je ne comprends pas pourquoi ca ne marche pas avec l'autre fonction que j'ai mis en commentaire

Option Explicit

Dim WS As Worksheet
Dim valeur As Range

Private Sub Worksheet_Activate()

valeur = Range("D12")

End Sub


Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
Range("D12").Select
If Range("D12").Value = "Suisse " Then
Range("H13").Select
'With WS
'Range("H13").FormulaLocal = "=SI(ESTNA(RECHERCHEV($D$13,CP!$Q$5:$R$53,2,FAUX)),"",RECHERCHEV($D$13;CP!$Q$5:$R$53,2,FAUX))"
Range("H13").FormulaLocal = "=somme(k10:k14)"
'End With
Else
If Range("D12").Value = "Autriche " Then
Range("H13").Select
'With WS
'Range("H13").FormulaLocal = "=SI(ESTNA(RECHERCHEV($D$13,CP!$Q$5:$R$53,2,FAUX)),"",RECHERCHEV($D$13,CP!$Q$5:$R$53,2,FAUX))"
Range("H13").FormulaLocal = "=somme(l10:l14)"
'End With
End If
End If
End Sub
 
Re : Diverses formules dans la même cellule

re:

gerer les "" dans une formule est assez complexe, je prefere chr(34)

Code:
Range("H13").FormulaLocal ="=SI(ESTNA(RECHERCHEV($D$13;CP!$Q$5:$R$53;2;FAUX)) ;" & chr(34) & chr(34) & ";RECHERCHEV($D$13;CP!$Q$5:$R$53;2;FAUX))"

de plus : remplacer les , par des ; en FormulaLocal
 
Re : Diverses formules dans la même cellule

Désormais ça marche, j'ai corrigé mon erreur, voici la forme que cela à :

Option Explicit

Dim WS As Worksheet

Private Sub Worksheet_Change(ByVal Target As Range)

Application.ScreenUpdating = False
Range("D12").Select

If Range("D12").Value = "Suisse " Then
With WS
Range("H13").FormulaLocal = "=si(estna(recherchev($D$13;CP!$Q$5:$S$53;2;faux));0;recherchev($D$13;CP!$Q$5:$S$53;2;faux))"
'Range("H13").FormulaLocal = "=somme(k10:k14)"
End With
Else
If Range("D12").Value = "Autriche " Then
With WS
Range("H14").FormulaLocal = "=SI(ESTNA(RECHERCHEV($D$13;CP!$Q$5:$S$53;3;FAUX));0;RECHERCHEV($D$13;CP!$Q$5:$S$53;3;FAUX))"
'Range("H13").FormulaLocal = "=somme(l10:l14)"
End With
End If
End If
End Sub


Je vais adopter un mix des deux méthodes :une base de donnée avec la fonction decaler et un ensemble de formule en focntion du contenue d'une cellule !
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…