OVH Cloud OVH Cloud

Import d'une analyse croisée access dans excel

2 réponses
Avatar
JP
bonsoir,
J'exporte une requête analyse croisée depuis access97 pour continuer à la
travailler dans excel97. Stupeur, si je veux faire des calculs entre
cellules et qu'une est vide ça m'affiche #valeur. Si je presse la touche
DEL dans la cellule vide, ça marche. (elle n'est donc pas vide et je ne sais
pas quel type de valeur elle a)
Comment je peux parcourir mes cellules A2:L100 pour détecter les vides et
faire le DEL par macro?
merci de votre aide et salutations
JP

2 réponses

Avatar
michdenis
Bonjour JP,

Comme ta cellule est non vide, tu peux difficilement faire une recherche sur les cellules vides de ta plage !!!

Comme c'est des données provenant d'une autre application, il y a le caractère ascii 160 qui ressemble au caractère
d'espacement que tu peux tenter se supprimer :

'----------------------
Sub char160()

Mot = Chr(160)
Range("A2:L100").Replace Mot, ""

End Sub
'----------------------

Mais, si la première solution ne règle pas ton problème, il ne te reste plus qu'à identifier le caractère indésirable.

Tu choisis une "cellule vide" dans ta plage de donnée
Cette procédure va identifier le caractère ascii qui est présent dans la cellule.
Tu pourras par la suite utiliser la première procédure pour l'effacer de ta plage de donnée.

'----------------------
For a = 1 To Len(Range("A1").Text)
MsgBox Asc(Mid(Range("A1"), a, 1))
Next
'----------------------


Salutations!





"JP" a écrit dans le message de news:3f3420e3$
bonsoir,
J'exporte une requête analyse croisée depuis access97 pour continuer à la
travailler dans excel97. Stupeur, si je veux faire des calculs entre
cellules et qu'une est vide ça m'affiche #valeur. Si je presse la touche
DEL dans la cellule vide, ça marche. (elle n'est donc pas vide et je ne sais
pas quel type de valeur elle a)
Comment je peux parcourir mes cellules A2:L100 pour détecter les vides et
faire le DEL par macro?
merci de votre aide et salutations
JP
Avatar
JP
Salut Michdenis,

En effet, la cellule n'est pas vide, mais on ne voit rien!!!
Avec tes 2 procédures je vais certainement y arriver.
merci et bon dimanche
JP

"michdenis" a écrit dans le message de
news:%
Bonjour JP,

Comme ta cellule est non vide, tu peux difficilement faire une recherche
sur les cellules vides de ta plage !!!


Comme c'est des données provenant d'une autre application, il y a le
caractère ascii 160 qui ressemble au caractère

d'espacement que tu peux tenter se supprimer :

'----------------------
Sub char160()

Mot = Chr(160)
Range("A2:L100").Replace Mot, ""

End Sub
'----------------------

Mais, si la première solution ne règle pas ton problème, il ne te reste
plus qu'à identifier le caractère indésirable.


Tu choisis une "cellule vide" dans ta plage de donnée
Cette procédure va identifier le caractère ascii qui est présent dans la
cellule.

Tu pourras par la suite utiliser la première procédure pour l'effacer de
ta plage de donnée.


'----------------------
For a = 1 To Len(Range("A1").Text)
MsgBox Asc(Mid(Range("A1"), a, 1))
Next
'----------------------


Salutations!





"JP" a écrit dans le message de
news:3f3420e3$

bonsoir,
J'exporte une requête analyse croisée depuis access97 pour continuer à la
travailler dans excel97. Stupeur, si je veux faire des calculs entre
cellules et qu'une est vide ça m'affiche #valeur. Si je presse la touche
DEL dans la cellule vide, ça marche. (elle n'est donc pas vide et je ne
sais

pas quel type de valeur elle a)
Comment je peux parcourir mes cellules A2:L100 pour détecter les vides et
faire le DEL par macro?
merci de votre aide et salutations
JP