Microsoft 365 Ajout d'un nouveau critère dans le code VBA

Amilo

XLDnaute Accro
Bonjour le forum,

Je me permets d'ouvrir un nouveau fil même s'il s'agit d'une demande dans la continuité de ma précédente discussion ici,
Vous trouverez 2 fichiers dont l'un contenant le code élaboré par yal et que j'aurais souhaité adapater (voir fichier "Consolidation in situ yal v2"),
J'ai indiqué toutes les explications dans chacun des onglets du fichier.

En vous remerciant par avance

Cordialement
 

Pièces jointes

  • Fichiers.zip
    109.9 KB · Affichages: 9

yal

XLDnaute Occasionnel
Les conditions que tu donnes dans ton exemple sont fausses.
Les vraies conditions pour avoir le résultat mentionné sont :
si "E" = "F" alors "M" = "RG"
si "E" < "F" alors "M" = "TT"
sinon "M" = "Erreur"
VB:
      If tbImport(i, 5) = tbImport(i, 6) Then
        tbSynth(12, dl) = "RG"
      ElseIf tbImport(i, 5) < tbImport(i, 6) Then
        tbSynth(12, dl) = "TT"
      Else
        tbSynth(12, dl) = "Erreur"
      End If

Il faudrait donc être plus précis sur le résultat attendu
 

Amilo

XLDnaute Accro
@yal ,
Pardon, je pensais que vous aviez également donné la solution,
Mais je confirme qu'il s'agit bien d'une erreur de ma part,
et ce que vous avez rappelé est juste.
Si vous pouviez svp le transcrire avec la condition que j'ai indiquée dans le fichier, je vous en serais reconnaissant.

Merci d'avance

Cordialement
 

Amilo

XLDnaute Accro
Re @yal ,
Effectivement, avec un nouvel essai (voir ci-dessous).
Merci par avance

Cordialement

VB:
Si la dernière valeur de la colonne B est égale à 460000 alors

If tbImport(i, 5) = tbImport(i, 6) Then
        tbSynth(12, dl) = "RG"
      ElseIf tbImport(i, 5) < tbImport(i, 6) Then
        tbSynth(12, dl) = "TT"
      Else
        tbSynth(12, dl) = "Erreur"
      End If


Sinon si la dernière valeur de la colonne B est égale à 230000 alors :

If tbImport(i, 5) = tbImport(i, 6) Then
        tbSynth(12, dl) = "NP"
      ElseIf tbImport(i, 5) < tbImport(i, 6) Then
        tbSynth(12, dl) = "BK"
      Else
        tbSynth(12, dl) = "Erreur"
      End If
 
Dernière édition:

Amilo

XLDnaute Accro
Bonjour @yal , le forum,
Je viens de tester, c'est super et encore merci pour tout :),
Je vais essayer de comprendre la méthode,
j'avais essayé de trouver par moi même mais en vain.

Sinon, une dernière question svp : que signifie le % derrière les variables/Constantes ?
Je ne me souviens pas encore l'avoir rencontré en VBA,
C'est probablement facultatif mais est-ce une manière de faire pour une meilleure compréhension ou pour la syntaxe ?

VB:
Dim dl%, dl2%, i%, j%, nbC%

Merci
Cordialement
 
Dernière édition:

Amilo

XLDnaute Accro
Bonjour Staple1600,
Merci, je ne savais qu'il y avait ces raccourcis pour le typage.
Sinon, en effet il est fortement recommandé de typer mais aussi le bon typage.
Merci pour votre réponse
Bon dimanche à tous
 
Dernière édition:

Amilo

XLDnaute Accro
Bonjour le forum,

Je poursuis dans la finalisation du fichier en pièce jointe avec un dernier critère que je n'arrive pas à intégrer dans l'excellent code VBA de yal :)

J'ai indiqué dans l'onglet "Consolidation 2022-06" du fichier toutes les explications concernant ce nouveau critère.

En vous remerciant pas avance

Cordialement
 

Pièces jointes

  • Consolidation.zip
    62.6 KB · Affichages: 4

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 182
dernier inscrit
moutassim.amine