Bonjour,

Il me semble que le problème vient de l'initialisation de wdate_deb ,les dates sont des nombres en double. J'ai eu moi aussi récemment cet inconvénient ,la fonction cdate ne fonctionnait pas, les chaînes n'ayant pas le format correct.

Je ne suis pas très expert mais il me semble que ça pourrait être la cause

Cordialement

Steve

joel a écrit :

Bonjour,

La macro qui suit m'as été concoctée par Eric Multeau. Elle fonctionne très bien, a un détail près : les dates obtenues apparaissent ainsi dans le champ de saisie :

'20/02/2007

Hors, j'ai des formules qui s'appuient sur ces dates, et elles ne fonctionnent plus a cause de cet apostrophe, bien que les cellules contenant ces dates soient au format date.

Il y a plusieurs solutions pour convertir ces cellules, mais le mieux serait que la macro donne tout de suite le résultat désiré.

J'ai l'impression qu'il s'y trouve une ligne sensée faire cela :

' Convertir la chaine de caractère en date
wdate_deb = cdate(date_deb)

En tout cas, ça ne fonctionne pas.

Qui pourrait corriger cela ?

Voici la macro dans son entier :

option explicit
Sub eric

dim fichier1, osheet, ocell  as object
dim nb_fois, date_deb as string
dim wdate_deb as date
dim wnb_fois, x, y, lig_cell, col_cell as integer

' On utilise le fichier, la feuille et la cellule active
' comme point de départ
fichier1 = thiscomponent.currentcontroller
osheet = fichier1.activesheet
ocell = thiscomponent.currentselection

' Récupérer les coordonnées de la cellule en cours
lig_cell = ocell.celladdress.row
col_cell = ocell.celladdress.column

' Indiquer le nombre de fois ou il faut exécuter cette opération
nb_fois = InputBox("Combien de fois effectuer le traitement ? ", "Votre Nombre")

' Saisir la date de début de traitement
date_deb = InputBox("Indiquer la date de début au format JJ/MM/AAAA ? ", "Votre Date de référence au format JJ/MM/AAAA")

' Convertir la chaine de caractère en date
wdate_deb = cdate(date_deb)

' Convertir la chaine de caractère en valeur numérique
wnb_fois = val(nb_fois)

' Faire le traitement autant de fois que désiré
for x = 0 to wnb_fois
  ' Traiter la colonne X
  osheet.getcellbyposition(0+col_cell,(x*8)+lig_cell).string = wdate_deb

  ' Traiter la colonne X +1 (8 fois)
  for y = 0 to 7
    osheet.getcellbyposition(1+col_cell,x*8+y+lig_cell).string = wdate_deb
   next y
   ' Incrémenter la valeur de la colonne A + 7
   wdate_deb = wdate_deb + 7
next x

msgbox (" Je crois que celà marche ;-)")
End Sub



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à