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

reconnaitre une donnée texte d'une donnée chiffre

M

mowbray

Guest
J'effectue un calcul sur une plage de cellule. ors lorsque le l'une des cellules contient du texte ma formule n'est plus valide et j'ai alors un message d'erreur de type incompatibilité de type. j'aimerai savoir comment faire pour qu'une instruction puisse me dire si la cellule contient une information de type texte ou sting ou nombre.

For j = 3 To 7 Step 2
For i = 5 To 55

a = Cells(i, j).Value
If Cells(i, j).Value = 0 Then
" je voudrais pouvoir mettre ici une autre condition qui est d'incrémenter i si la cellule contient du texte."
i = i + 1
Else
P1 = Cells(i, j).Value
P2 = Cells(i, j + 1).Value
nb1 = Cells(3, j).Value
nb2 = Cells(3, j + 1).Value
b = ((nb1 * P1) + (nb2 * P2)) / (nb1 + nb2)
...
Je vous remercie pour vos réponses je cherche une solution dans mes vieux grimoire de VBA depuis ce matin et je ne trouve rien. j'ai pensé qu'en déclarant convenablement la variable a je pourrais aboutir à qq chose mais ça n'a rien donné et là je cale complètement. Quand son cerveau fait défaut on compte sur celui des autres. Donc encore une foi merci d'avance
 
P

pierref

Guest
Je ne peux pas vérifier mais je crois qu'une fonction existe : isnumeric

Ca donne un truc du genre : if IsNumeric (cells(i,j).value) then ...

tiens moi au courant

a+
 
M

Myta

Guest
Salut le forum

If Not IsNumeric(Cells(i, j)) Or IsEmpty(Cells(i, j)) Then
i = i + 1


le IsEmpty car si la cellule est completement vide il semble la
prendre pour un chiffre

Mytå
 
M

mowbray

Guest
je vous remercie beaucoup la fonction Isnumeric etait effectivement la solution de mon PB est va me servir à généraliser beaucoup de mes applications qui plantaient dés que l'on rajoutait une ligne dans la feuille excel.
 

Discussions similaires

Réponses
4
Affichages
356
Réponses
0
Affichages
285
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…