• Initiateur de la discussion Initiateur de la discussion tail
  • 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 !

T

tail

Guest
bonjour
je cherche ,je cherche mais je ne trouve pas
merci de votre aide
j'aimerai traduire la formule suivante en vba

merci
=SI(ET(RECHERCHEV($D$4;Spécialités!$B$2:$U69;7)='O';F$4='G');1;0)

merci de m'expliquer comment faire
 
bonjour,

j'ai vu qu'il y avait une erreur avec le RECHERCHEV car dans la premiére case nous aurions dû avoir 2 en réponse.

Range('E13').Select
ActiveCell.FormulaR1C1 = _
'=IF(AND(VLOOKUP(R5C4,Spécialités!R2C2:R70C21,8,FALSE)=''o'',OR(R[-8]C=''G'',R[-8]C=''j'',R[-8]C=''shc'',R[-8]C=''s8 '',R[-8]C=''s10'',R[-8]C=''s11'',R[-8]C=''s12'',R[-8]C=''sh'')),1,0) + IF(AND(VLOOKUP(R6C4,Spécialités!R2C2:R70C21,8,FALSE)=''o'',OR(R[-7]C=''G'',R[-7]C=''j'',R[-7]C=''shc'',R[-7]C=''s8 '',R[-7]C=''s10'',R[-7]C=''s11'',R[-7]C=''s12'',R[-7]C=''sh'')),1,0)'
Range('E13').Select
Selection.AutoFill Destination:=Range('E13:AI13'), Type:=xlFillDefault
Range('E13:AI13').Select

pour ce qui concerne le reste: dur dur il faut passer par une autre façon de concevoir la macro.

chantal
 
re bonsoir,
tout d'abord ton tableau devrait commencer bien plus loin car si tu avais 50 noms, la ligne 10 serait en réalité la ligne 60, donc la cellule E13 serait en réalité E63

il faudrait que tu demandes de l'aide pour faire une sorte de bouclage...
ton premier pb est que tu dois faire sur la cellule E63 écrire ceci:



=SI(ET(RECHERCHEV($D$5;Spécialités!$B$2:$U$70;8;FAUX)='o';OU(E5='G';E5='j';E5='shc';E5='s8 ';E5='s10';E5='s11';E5='s12';E5='sh'));1;0) + SI(ET(RECHERCHEV($D$6;Spécialités!$B$2:$U$70;8;FAUX)='o';OU(E6='G';E6='j';E6='shc';E6='s8 ';E6='s10';E6='s11';E6='s12';E6='sh'));1;0) + .......SI(ET(RECHERCHEV($D$55;Spécialités!$B$2:$U$70;8;FAUX)='o';OU(E55='G';E55='j';E55='shc';E55='s8 ';E55='s10';E55='s11';E55='s12';E55='sh'));1;0)

Je te conseille de demander de l'aide pour avoir une variable qui aille de 5 à 55.
exemple demander de faire une macro qui fais
=a5+a6+a7+....+a55
c'est à dire en VBA
ActiveCell.FormulaR1C1 = Range('a5') + Range('a6') + Range('a7') + .......Range('a55')
et comment faire pour ne pas se taper les 50 termes...


amicalement

chantal
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
196
Réponses
2
Affichages
112
Réponses
15
Affichages
266
Réponses
5
Affichages
165
Retour