Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion s.blancou
  • 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 !

S

s.blancou

Guest
Salut les gens
Je bloque, aidez-moi!!

je cherche à intégrer une formule en vba:

ma formule:
=SI(ESTVIDE($B8);"";SI(OU(ET(RECHERCHEV($B8;bddetablissement;17;FAUX)="we et feries";OU(JOURSEM(Q$6)=1;JOURSEM(Q$6)=7)));"X";SI(OU(ET($N8>0;$N8<Q$6);(Q$6<$M8));"F";SI(RECHERCHEH(JOURSEM(Q$5;1);tpspartiel;(CELLULE("ligne";$B8)-5);FAUX)="X";"X";SI(OU(ET($O8>0;$O8<=Q$6);($O8="en attente"));"EA";"")))))

mon code:
Target.FormulaR1C1 = _ "=IF(ISBLANK(RC2),"""",IF(OR(AND(VLOOKUP(RC2,bddetablissement,17,FALSE)=""we et feries"",OR(WEEKDAY(R6C)=1,WEEKDAY(R6C)=7))),""X"",IF(OR(AND(RC14>0,RC14<R6C),(R6C<RC13)),""F"",IF(HLOOKUP(WEEKDAY(R5C,1),tpspartiel,(cell(""row"",RC2)-5),false)=""x"",""x"",IF(OR(AND(RC15>0,RC15<=R6C),(RC15=""en attente"")),""EA"","""")))))"

Ca ne marche pas 🙁 est-ce que j'ai mal traduis le (cellule("ligne"...?
Merci pour vos réponses
 
Re : vba

Salut s.blancou,

Pas très facile de répondre à ta question sans les données qui vont avec la formule...
Comment as-tu obtenu le code ? Avec l'enregistreur de macro ?

Dans
SI(RECHERCHEH (JOURSEM(Q$5;1);tpspartiel;(CELLULE("ligne";$B8)-5);FAUX)
"ligne" est-elle une variable ?
 
Dernière édition:
Re : vba

Bonjour le fil 🙂,
D'après mes tests, oui, ligne est mal traduit... car c'est du texte donc VBA le laisse en anglais 🙄...
Donc cell(""ligne"",RC2) donne, pour moi, un résultat correct.
Bon WE 😎
 
Re : vba

Salut les amis!

Autre blocage en vba :

Lorsque je ferme mon fichier, j'aimerais que:
Si la cellule (de la feuille en cours) R3C = à la cellule R2C12 (de la feuille "2009")
Alors:
Copier la colonne de R3C / Coller spécial dans la colonne de R3C (dans la plage B4😀E170) pour remplacer les formules par des valeurs


J'en suis là:
Sub Document_Close
If Target.Column > 1 And Target.Column < 110 And Target.Row > 3 And Target.Row < 171 Then
If Target.Cells(3,).Value = Worksheet("2009").Cells(3, 3).Value Then
Workbook.Sheet("en attente").Column = Workbook.Sheet("en attente").Column.Value
End if
End if
End sub

Voilà, je débute et je confonds tout :-(
A vot' bon cœur, merci 🙂
 
Re : vba

Re 🙂,
L'événementielle à utiliser est
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
End Sub
dans ThisWorkBook. Mais elle ne renvoit pas de Target, juste la possibilité de modifier Cancel, ce qui laisse le classeur ouvert.
Maintenant, si tu veux comparer des valeurs, il faudrait les donner en dur (A1, CZ221, etc.).
Enfin, tu ne pourras pas transformer des cellules juste par une égalité. 2 solutions :
1) Copy puis PasteSpecial
2)
Code:
Dim Cellule As Range
For Each Cellule In Selection ' Remplacer Selection par le Range qui t'intéresse
Cellule = [Cellule]
Next
Bon courage 😎
 
- 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

  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
906
V
Réponses
17
Affichages
3 K
VBgalère
V
G
Réponses
0
Affichages
1 K
guiboubou233
G
K
  • Question Question
Réponses
3
Affichages
1 K
K
M
  • Question Question
Réponses
0
Affichages
1 K
Mirguy23
M
C
Réponses
1
Affichages
1 K
C
M
Réponses
11
Affichages
2 K
Melidan2006
M
Réponses
9
Affichages
2 K
Réponses
2
Affichages
964
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…