Le jeu des 7 erreurs

yubstart

XLDnaute Nouveau
Bonjour,

Est-ce-que quelqu'un pourrait m'expliquer pourquoi, dans le code suivant, les procédures donnent des valeurs de "max" différentes?
J'ai beau chercher je me sens tout bête.
La première procédure me donne le résultat attendu, mais vous vous en doutez, j'aurais besoin d'utiliser la seconde version afin de l'insérer dans une procédure plus complexe où la plage change fréquemment.


PHP:
Sub somme_du_mois_version1()  
    max= Application.WorksheetFunction.Max(Range("a1", Range("a65536").End(xlUp)))
    MsgBox Format(max, "mm/yyyy")    
end sub

Sub somme_du_mois_version2()      
    plage = Range("a1", Range("a65536").End(xlUp))
    max= Application.WorksheetFunction.Max(plage_mois_teste)
    MsgBox Format(max, "mm/yyyy")
End Sub

Si quelqu'un passe dans le coin, et peut me donner un petit coup de pouce, je lui en serais reconnaissant.
 

yubstart

XLDnaute Nouveau
Re : Le jeu des 7 erreurs

désolé, pour être plus clair dans mes explications et comme c'est un extrait de code, j'ai cru bon de simplifier. Le code que j'utilise est le suivant
PHP:
Sub somme_du_mois()
       


    selection_plage_date = Application.WorksheetFunction.Max(Range("B11", Range("b65536").End(xlUp)))
    MsgBox Format(selection_plage_date, "mm/yyyy")
    
    
    plage_mois_teste = Range("B11", Range("b65536").End(xlUp))
    selection_plage_date1 = Application.WorksheetFunction.Max(plage_mois_teste)
    MsgBox Format(selection_plage_date1, "mm/yyyy")
End Sub
Où la colonne b contient des dates sour la forme mm/yyyy Le problème reste entier
 
Dernière édition:

TooFatBoy

XLDnaute Barbatruc
Re : Le jeu des 7 erreurs

Ca semble pour le moins étonnant.

Quels sont les deux résultats que tu obtiens ?


[edit]
Arf, oui, je viens de tester et j'ai effectivement deux résultats différents car dans le deuxième cas on a toujours 0 (zéro). :(
C'est peut-être la ligne plage_mois_teste = Range("B11", Range("b65536").End(xlUp)) qui n'a pas la syntaxe exacte.
[/edit]
 
Dernière édition:

yubstart

XLDnaute Nouveau
Re : Le jeu des 7 erreurs

Bonjour,

Admettons que dans la colonne B la date la plus récente soit le 03/2011
premier message : 03/2011
deuxième message : 12/1899

la première est bonne, la deuxième a l'air de sortir du fond de l'enfer et n'a aucun rapport avec les données
 

Cousinhub

XLDnaute Barbatruc
Re : Le jeu des 7 erreurs

Bonjour,
une autre façon, regarde le code :

Code:
Sub somme_du_mois()
    Range("B11", Range("b65536").End(xlUp)).Name = "plage_mois_teste"
    selection_plage_date1 = Application.WorksheetFunction.Max([COLOR="Red"][[/COLOR]plage_mois_teste[COLOR="Red"]][/COLOR])
    MsgBox Format(selection_plage_date1, "mm/yyyy")
End Sub

Attention aux crochets, plage_mois_teste est devenu une zone de cellules
 

TooFatBoy

XLDnaute Barbatruc
Re : Le jeu des 7 erreurs

Ah ben voilà, Bhbh a trouvé la solution. :)

Perso j'avais trouvé ça :
plage_mois_teste = Range("B11", Range("b65536").End(xlUp)).Address()
selection_plage_date1 = Application.WorksheetFunction.Max(Range(plage_mois_teste))
MsgBox Format(selection_plage_date1, "mm/yyyy")
 
Dernière édition:

Discussions similaires

Réponses
2
Affichages
372