Incompréhension totale sur simple comparaison
Bonjour à tous
J'ai un petit souci que je ne m'explique pas et qui est d'une telle bizarrerie...
Explication :
J'ai un fichier Excel avec diverses macros qui font toutes sortes de choses, récupération de données d'un autre fichier Excel, suppression de ligne sur divers tri...
A un moment, je cherche la différence de semaines entre 2 dates... que je mets dans une variable SemaineDiff (que je récupère dans une cellule de l'onglet1).
Puis en fonction de cette différence, je remplis le tableau d'un autre onglet, tout fonctionne sauf.... quand je vérifie si cette variable est supérieur ou égal à 6 elle dis que non et continue .
Donc si cette variable est égal à 1 ou 2 ou 3 ou 4 ou 5 cela fonctionne mais pas dès que c'est supérieur ou égal à 6.
Je ne sais pas si je me suis bien fait comprendre mais voici le bout de code
Sub NouvGestionDate()
Dim SemaineDiff
' Trouver dernière ligne du tableau
nbligne = Sheets(1).Range("B9").End(xlDown).Row For i = 9 To nbligne
Sheets(1).Select
UP = Cells(i, 30).Value
NumDemande = Cells(i, 4).Value
Semaine = Cells(i, 38).Value
SemaineDiff = Cells(i, 44).Value
HDemande = Cells(i, 42).Value
Jour2 = Cells(i, 40).Value
Call Nouvconditions
' Vérification si la différence entre semaine de demande et actuelle est strictement supérieur à S-5
If SemaineDiff = "4" Then
Sheets(2).Select
Cells(nbligneong, 6).Value = Cells(nbligneong, 6).Value + 1
GoTo Line3
End If
If SemaineDiff = "3" Then
Sheets(2).Select
Cells(nbligneong, 7).Value = Cells(nbligneong, 7).Value + 1
GoTo Line3
End If
If SemaineDiff = "2" Then
Sheets(2).Select
Cells(nbligneong, 8).Value = Cells(nbligneong, 8).Value + 1
GoTo Line3
End If
If SemaineDiff = "1" Or SemaineDiff = "0" Then
Sheets(2).Select
Cells(nbligneong, 9).Value = Cells(nbligneong, 9).Value + 1
GoTo Line3
End If
If SemaineDiff >= "6" Then ' Problème ICI
Sheets(2).Select
Cells(nbligneong, 2) = Cells(nbligneong, 2).Value + 1
GoTo Line3
End If
If SemaineDiff = "5" Then ' Gestion du mercredi
If Jour2 = "Mercredi" Or Jour2 = "mercredi" Then
If HDemande < "10:00" Then
Sheets(2).Select
Cells(nbligneong, 2) = Cells(nbligneong, 2).Value + 1
...
End Suble souci se trouve là où j'ai indiqué Problème ICI....
Le plus drôle est que quand je mets <=6 et que la variable = 10 ça passe alors que ça devrait pas mais dès que c'est égal à 9 ben ça passe plus...
Si une honnête âme peut me faire comprendre des choses...
Après je pense qu'il y a moyen de simplifier cette gestion mais avec la fin et la gestion des heures du mercredi cela deviendrais trop compliqué.
Merci à vous tous
Bonjour,
If SemaineDiff >= "6"on teste sur une chaine de caractères ( présence des " ") et, dans ces conditions "10" est inférieur à "6".
Supprimer les " " de tous les tests
If SemaineDiff >= 6A+
Merci je vais tester, si ce n'est que ça, j'arrête le VBA...
Bon ben adieu VBA... j'ai honte de ne pas avoir vu cela...
Merci en tout cas AlgoPlus