Comment appliquer une fonction à une cellule

jolestanpi Messages postés 12 Statut Membre -  
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

je suis sous excel 2003 et veux créerune macro VBA.

Cette macro doit parcourir une matrice.
Lorsque la valeur d´une cellule est "", la macro doit remplacer cette valeur de cellule par la fonction NV()

J´ai essayé:

for i = 1 to 50
for j = 1 to 50

if worksheets("A").cells(i,j).value = "" then
worksheets("A").cells(i,j).value = NV().
end if

mais je sais que cela ne marche pas à cause des dimensions de mes entités

Pouvez vous m´aider?

Merci

2 réponses

al1_delon Messages postés 263 Statut Membre 25
 
Bonsoir,

d'abord nommer la plage de données en "Donnees" par exemple
Ensuite :

For each C in worksheets("A").Range("Donnees").cells
If C. value = """" then
c.value = "NV()"
Next C
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 281
 
Bonsoir,

d'accord avec le départ de al1 mais si c'est une formule que tu dois inscrire utilise :
C.Formula = "=LEN(A1)"
En VBA la fonction doit être écrite en anglais même sur excel français.
J'ai mis LEN() (NBCAR()) en exemple car je ne connais pas VC() que ce soit en français ou en anglais...

Si c'est le résultat d'une fonction vba que tu veux mettre il faut enlever les " "

eric
0