Tester le type d'une plage de cellules

V

Viniboy

Guest
Bonjour à toutes et à tous.
Tout d'abord merci à tous les contributeurs(trices) de ce forum.

Je suis en train de faire ma premiere sub en vba, je n'ai pas beaucoup d'expérience et pour ne rien vous cacher, je n'arrive à rien. :angry:

Je m'explique:

Avant de commencer mon programme a proprement parler, je souhaite tester la conformité des valeurs.

La colonne A doit contenir du texte, la B des entiers et la C des durées (type 31:51:45).

Je travaille sur les n premiere ligne d'une feuille. Le nombre de ligne sur lequel je dois tester mes données est contenu dans une variable Nombre_ligne .

J'ai essayé entre autre avec vartype mais cela ne me semble pas concluant, cela me renvoie toujours le type 8 c'est à dire le type texte.

Si quelqu'un peut me conseiller sur une méthode pour tester les valeurs contenues dans des plages de cellules, cela me permettrait d'avancer dans VBA.

Merci beaucoup à vous.

Viniboy

PS: voici mon code si certains veulent voir mais il est plein d'erreurs, que j'essaie de corriger au fur et à mesure.

[file name=vbbilanvac.zip size=12928]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/vbbilanvac.zip[/file]
 

Pièces jointes

  • vbbilanvac.zip
    12.6 KB · Affichages: 14
S

sheol

Guest
pour faire marcher ton vartype essaye de definir le type de tes données dans tes colonne, pour ce la selectionne ta colonne clique droit puis dans format tu choisi le bon type sinon j'utilise les fonction de excel dans vba:
essaye
Application.WorksheetFunction.IsText(varatest)
pour le text
Application.WorksheetFunction.IsNumber(varatest)
pour le nombre ensuite pour verifier s'il s'agit bien d'un entier il suffit de faire un tgest if varatest=int(varatest) then...
pour la duré c'est plus ardu tu oeut tenté le coup comme ca

on error goto marchepo
varatest=timevalue(varatest)

'le reste de ta sub

exit sub
marchepo
end sub

la fonction timevalue va convertir ta variable en heure, si ce n'est pas possible (si c'est du texte par exemple) alors il genere un message d'erreur capter par 'on error' qui t'envoi au 'marchepo' la tu met ta gestion de l'erreur et voilou
 

Discussions similaires

Statistiques des forums

Discussions
311 733
Messages
2 082 019
Membres
101 872
dernier inscrit
Colin T