Bonjour,
je souhaite procéder à un contrôle de type de données dans un tableau Excel.
je pensais utiliser "VarType" ou "TypeName".
Cela pose un problème car quand un utilisateur tappe un chiffre entier (exemple 132), VBA me retourne le type "Double" au lieu de Int.
Je balaie donc ma colonne avec un boucle
(exemple : for i=1 to Lignes / if cells(i,1)=...)
Je fais un test pour chaque cellule pour savoir si ma valeur est entière ou pas.
Le problème est que ceci prend trop de temps de traitement.
J'ai essayé de copié la plage de cellule (la colonne) directement dans un tableau en me disant que si une valeur n'est pas de type Integer, une erreur est retournée. Seulement VBA ne veux pas copier la plage dans un tableau de type Integer :
Cela ne fonctionne pas :
Dim Col_01() As Integer
Col_01 = Range(Cells(2, 1), Cells(NbLignes, 1)).Value
Ça fonctionne avec :
Dim Col_01() As Integer
Mais alors je perds mon contrôle de type... 🙁
Si vous avez une idée sur comment contrôler rapidement le type de données d'une colonne.
J'ai consigné dans une feuille annexe du classeur, le type des données attendue pour chaque colonne :
Colonne 1: Integer
Colonne 2: String
Colonne 3: Date
Col...
je souhaite procéder à un contrôle de type de données dans un tableau Excel.
je pensais utiliser "VarType" ou "TypeName".
Cela pose un problème car quand un utilisateur tappe un chiffre entier (exemple 132), VBA me retourne le type "Double" au lieu de Int.
Je balaie donc ma colonne avec un boucle
(exemple : for i=1 to Lignes / if cells(i,1)=...)
Je fais un test pour chaque cellule pour savoir si ma valeur est entière ou pas.
Le problème est que ceci prend trop de temps de traitement.
J'ai essayé de copié la plage de cellule (la colonne) directement dans un tableau en me disant que si une valeur n'est pas de type Integer, une erreur est retournée. Seulement VBA ne veux pas copier la plage dans un tableau de type Integer :
Cela ne fonctionne pas :
Dim Col_01() As Integer
Col_01 = Range(Cells(2, 1), Cells(NbLignes, 1)).Value
Ça fonctionne avec :
Dim Col_01() As Integer
Mais alors je perds mon contrôle de type... 🙁
Si vous avez une idée sur comment contrôler rapidement le type de données d'une colonne.
J'ai consigné dans une feuille annexe du classeur, le type des données attendue pour chaque colonne :
Colonne 1: Integer
Colonne 2: String
Colonne 3: Date
Col...