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

problème de variable non numérique

  • Initiateur de la discussion Initiateur de la discussion grodep
  • 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 !

grodep

XLDnaute Occasionnel
Bonjour à tous, je reviens vers vous pour un problème tout bête mais qu'une fois de plus je n'arrive pas à résoudre:
dans une boucle, j'ai la ligne suivante :
Code:
Noms(L, 3) = Noms(L, 3) + CDbl(Worksheets("vols").Cells(Lv + 1, Cv))
Mon souci est qu'il arrive que la cellule en question(Cells(Lv+1, Cv) )ait une valeur non numérique, du coup, ça bug et c'est normal: je cherche à encadrer cette ligne par un bloc if End if mais je n'arrive pas à construire ma condition : je cherche qqchose du style
Code:
If Not Cells(Lv + 1, Cv) = "NN" Then
"NN" étant la seule valeur non numérique que peut prendre la cellule incriminée.

Des conseils ou des suggestions?

Merci d'avance à tous les contributeurs
 
Re : problème de variable non numérique

Bonjour grodep,
Pas sur d'avoir compris le problème,

Code:
If Not Cells(Lv + 1, Cv)[COLOR=red][B].Value[/B][/COLOR] = "NN" Then
Noms(L, 3) = Noms(L, 3) + CDbl(Worksheets("vols").Cells(Lv + 1, Cv))
End If
Cordialement
 
Re : problème de variable non numérique

Bonjour Grodep

regarde ce genre de test :

Code:
If IsNumeric(Range("A1").Value) Then MsgBox "ok numérique..."

ou bien :

Code:
If Not IsNumeric(Range("A1").Value) Then MsgBox "non numérique..."

bon après midi
@+
 
Re : problème de variable non numérique

bonjour, je reviens vers vous, car je n'arrive toujours pas à solutionner ce pépin:
Cells(Lv + 1, Cv).Value ne renvoie aucune valeur non plus

Je vous joins une feuille exemple avec le code qui doit tourner.
La cellule AP21 contient la valeur qui fait "bugger" le code.
merci à vous
 

Pièces jointes

Re : problème de variable non numérique

Bonjour,

as tu essayé la fonction donnée dans mon post du 16, la fonction "isnumeric" ne bogue pas sur AP21, et renvoie le bon résultat...

bonne journée
@+
 
Re : problème de variable non numérique

bonjour pierrot93, je ne me serais pas permis de poster de nouveau sans avoir testé les solutions proposées, peut-être l'ai je mal exécutée?
J'ai testé en ajoutant donc cette ligne :
if Not IsNumeric(Cells(Lv+1,Cv) then ...

mais c'est sans effet.
 
Re : problème de variable non numérique

Re,

comprends pas trop alors, sur le fichier que tu as fourni, sur l'onglet "vols", le code ci-dessous fonctionne :

Code:
If Not IsNumeric(Range("AP21")) Then MsgBox "non numérique..."

@+
 
Re : problème de variable non numérique

oui certes pierrot93, si je spécifie "à la main" la cellule incriminée, c'est ok. Mais ce que je souhaite, c'est inclure dans ma boucle une condition qui checke chacune des cellules, et c'est là que je n'y arrive pas .
*
Edit: c'est vraiment pas jojo comme solution, mais en attendant de trouver mieux :

Code:
 For Each cel In Range("vols!H" & 2 & ":" & strcol1 & p)
            On Error GoTo suit
                If cel = Noms(L, 1) Then    'si le 2 1ers caractères de gauche du vol= Noms(L, 1)
                    Cv = cel.Column    'colonne du vol
                    Lv = cel.Row
                    
                    Noms(L, 3) = Noms(L, 3) + CDbl(Worksheets("vols").Cells(Lv + 1, Cv))    'somme
                    tot = tot + 1
'                    End If
suit:
                End If
            Next cel

bouuu, c'est moche, j'ai honte ! mais ça fonctionne 😀😀
 
Dernière édition:
Re : problème de variable non numérique

bonjour a tous

et salut particulier a mon ami Pierrot

En supposant avoir compris

Code:
For Each cel In Range("vols!H" & 2 & ":" & strcol1 & p)
                If cel = Noms(L, 1) Then    'si le 2 1ers caractères de gauche du vol= Noms(L, 1)
                    Cv = cel.Column    'colonne du vol
                    Lv = cel.Row
                    'MsgBox Cells(Lv + 1, Cv).Value
                   [COLOR=red]'If Not Cells(Lv + 1, Cv).Value = "NN" Then[/COLOR]
                    [COLOR=blue]If IsNumeric(Cells(Lv + 1, Cv).Value) Then[/COLOR]
                    'MsgBox Cells(Lv + 1, Cv).Value
                     Noms(L, 3) = Noms(L, 3) + CDbl(Worksheets("vols").Cells(Lv + 1, Cv))    'somme
                     tot = tot + 1
                    End If
                End If
            Next cel
 
Re : problème de variable non numérique

Re, bonjour PierreJean🙂

attention, car "cells" s'applique ici à la feuille active, si la feuille "vols" n'est pas celle ci, il y a lieu de préciser son nom dans le code :

Code:
If IsNumeric(Sheets("vols").Cells(Lv + 1, Cv).Value) Then
 
Re : problème de variable non numérique

bonjour pierrejean et merci de te pencher sur le problème, j'avais expérimenté cette formule, mais pour une raison que j'ignore, cela ne fonctionne pas non plus.
 
Re : problème de variable non numérique

Bonjour grodep, Pierrot93, pierrejean 🙂,
Même si je suis "un peu" dépassé par le code, la version en pièce jointe fonctionne.
Ajout en tête de
Code:
Sheets("vols").Activate
et utilisation de la ligne
Code:
If IsNumeric(Sheets("vols").Cells(Lv + 1, Cv).Value) Then
En espérant faire avancer le Schmilblick.
Cordialement
 

Pièces jointes

Re : problème de variable non numérique

effectivement ça fonctionne! Un grand merci donc à toi et aux autres contributeurs.
Un détail : dans ton code, la ligne
Code:
 If IsNumeric(Sheets("vols").Cells(Lv + 1, Cv).Value) Then

n'a pas été modifié dans ton classeur et apparait donc comme suit :
Code:
 If IsNumeric(Cells(Lv + 1, Cv).Value) Then


mais ça fonctionne comme cela, donc no sweat!

Si d'aucun parmi ceux qui maitrisent toutes les subtilités vba pouvait éclaircir le pourquoi du besoin de la ligne Sheets("vols").Activate, je serais ravi d'en apprendre un peu plus 🙂
 
Re : problème de variable non numérique

hmm merci pierrejean, j'avais effectivement "zappé" la réponse de pierrot, visiblement posté pendant que je rédigeais la mienne. Cela me semble désormais bien plus clair!!

Encore un immense merci à vous tous.
 
- 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

Discussions similaires

D
Réponses
4
Affichages
1 K
L
Réponses
3
Affichages
898
Laurent97310
L
R
Réponses
3
Affichages
4 K
R
D
  • Question Question
Réponses
7
Affichages
1 K
Dymouille
D
A
Réponses
12
Affichages
2 K
AnjyD
A
E
  • Question Question
Réponses
6
Affichages
1 K
elmilo13
E
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…