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

Mes formules sont-elles correctes ?

swampsnake

XLDnaute Nouveau
Salut tout le monde,

J'ai un problème avec deux formules que j'aimerais appliquer à deux cellules.

Voici comment les choses doivent se passer : dans une boucle j'insère des lignes et je souhaiterais affecter une formule dans les cellules C et E de chaque nouvelle ligne. Malheureusement, ça n'a pas l'air de fonctionner.
Après moultes recherches sur le sujet et des tas de tests en modifiant les quotes et autres, je vous appelle au secours.

Pourriez-vous me dire si la syntaxe est correcte ?

Voici le code en question :

Code:
sht.Rows(cpt).Insert Shift:=xlDown
sht.Range("C" & cpt).Formula = "=IF(B" & cpt & "<>"""",(IF(AND(B" & cpt & ">Z" & cpt & ",B" & cpt & "<>""""),""""Sur-engagé"""",IF(AND(B" & cpt & "<Y" & cpt & ",B" & cpt & "<>""""),""""Sous-engagé"""",""""OK""""))),"""")"
sht.Range("E" & cpt).Formula = "=IF(AL" & cpt & "="""","""",AL" & cpt & ")"
 

MJ13

XLDnaute Barbatruc
Re : Mes formules sont-elles correctes ?

Bonjour swampsnake

Le mieux serait de mettre un fichier réprésentant le problème car la en l'état, si quelqu'un peut te dépanner, c'est un magicien .
 

kjin

XLDnaute Barbatruc
Re : Mes formules sont-elles correctes ?

Bonjour, salut MJ ,
J'ai du mal à cerner la logique de la première formule
Tu testes si B & cpt est non vide 3 fois !
Code:
sht.Range("C" & cpt).Formula = "=IF(B" & cpt & "="""","""",IF(B" & cpt & ">Z" & cpt & ",""Sur-engagé"",IF(B" & cpt & "<Y" & cpt & ",""Sous-engagé"",""OK"")))"
A+
kjin
 

swampsnake

XLDnaute Nouveau
Re : Mes formules sont-elles correctes ?

D'accord. Voici donc un fichier exemple qui reproduit exactement ce que je voudrais faire. Les cellules ne sont pas les mêmes, mais ça ne fait rien, le résultat est le même.

Merci de bien vouloir y jeter un coup d'œil.
 

Pièces jointes

  • Exemple.xls
    19.5 KB · Affichages: 77
  • Exemple.xls
    19.5 KB · Affichages: 83
  • Exemple.xls
    19.5 KB · Affichages: 80

kjin

XLDnaute Barbatruc
Re : Mes formules sont-elles correctes ?

re,
La macro complète
Code:
Sub Generer()
Dim cpt As Integer
Dim sht As Worksheet
Set sht = ThisWorkbook.Worksheets("Feuil1")
cpt = 1
While cpt < 20
    cpt = cpt + 1
    sht.Rows(cpt).Insert Shift:=xlDown
    sht.Range("C" & cpt).Formula = "=IF(B" & cpt & "="""","""",IF(B" & cpt & ">Z" & _
            cpt & ",""Sur-engagé"",IF(B" & cpt & "<Y" & cpt & ",""Sous-engagé"",""OK"")))"
    sht.Range("E" & cpt).Formula = "=IF(AL" & cpt & "="""","""",AL" & cpt & ")"
Wend

End Sub
A+
kjin
 

MJ13

XLDnaute Barbatruc
Re : Mes formules sont-elles correctes ?

Re, Bonjour kjin


Bravo Kjin .

Je savais qu'on avais des magiciens sur XLD .

Comme quoi, avec un fchier, y'a pas besoin de palabres .
 

Discussions similaires

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