Vba pb de copier coller

onra -  
 onra -
Bonjour,
J'ai besoin d'un gros coup de main!

Je vous erxplique tout d'abord le but de mon tableau

J'ai 2 feuilles : Suivi financier et Situation

Le principe est que chaque mois, l'utilisateur remplit la situation (financière) dont le total est renovyé ves la feuille suivi financier qui est un récap de l'ensemble des situ mensuels.

Mon code se divise en 2:
Tou d'abord une procédure "enregistrer" qui me permet:
- de numéroter la situation selon le mois (mois 1= situ 1.....)
- d'enregistrer la feuille excel dans un fichier
de nommer la situ suivante

La procédure suivante est "valider"; elle permet:
- d'enregistrer les totaux d'une situ vers la colonne correspondante de suivi financier.

Mon problème est que la seconde procédure enregistre (quand cela enregistre) toujours sur la même colonne qui est la colonne 11 (va savoir pourquoi?) quelque soit le numéro de la colonne choisie au début de la procédure.

Bref... je suis en train de baisser les bras, d'autant plus que mes compétences quasi nul en vba me permettent pas de comprendre grand chose au message d'erreurs....

le code est juste en dessous, cela sera certainement plus facil à comprendre avec:

Private Sub Enregistrer_Click()

Dim z, v

v = InputBox("N° de la nouvelle situation a enregistrée:")
Worksheets(3).SaveAs "G:\Economie de chantier\Outil bis\Situation\Situation " & v
Range("F12:J20").Select
Selection.ClearContents
Range("N12:R20").Select
Selection.ClearContents
z = InputBox("N° de la nouvelle situation")
ActiveWorkbook.Worksheets(3).Name = "Situation" & " " & z

End Sub

Private Sub Valider_Click()

Dim z, k As Integer
Dim Cell As Range

z = InputBox("N° de la situation traitée:")
'saisie du N° de la situation; le k correspond au n° de la colonne visée dans suivi financier
k = 2 * z + 11
MsgBox ("z=" & z)
MsgBox ("k=" & k)

For j = 12 To 20
Sheets("Suivi financier").Select
Cells(j, k).Value = Worksheets(3).Cells(j, 20).Value
Next j
' la boucle for permet de réperter la copie pour 9 lignes qui se suivent
End Sub

En tout cas merci à ceux qui prendront un peu de temps pour me sortir de la pannade....
Configuration: Windows 2000
Internet Explorer 6.0

2 réponses

  1. Ivan-hoe Messages postés 433 Date d'inscription   Statut Membre Dernière intervention   310
     
    Salut Onra,
    quand tu visualises les valeurs de z et de k, est-ce que ce sont les bonnes (surtout k) ?
    MsgBox ("z=" & z)
    MsgBox ("k=" & k)
    A suivre...
    0
    1. onra
       
      Oui, c bien le problème
      il me renvoie les bonnes valeurs
      Par exemple:
      -je lui dis de traiter la situation n°2 (z=2)
      -ensuite k = 15
      -par contre la copie ce fait dans la colonne 11

      .........

      autant dire que c'est à s'arracher les cheveux

      En tout cas merci d'avoir répondu
      0
      1. amigo > onra
         
        la solution est là

        z = Val(InputBox("N° de la situation traitée:"))
        0
  2. amigo
     
    Bonjour,

    la fonction inputbox retourne un texte donc la ligne
    z = InputBox("N° de la situation traitée:")
    affecte à z la valeur texte de "4" par exemple

    ensuite tu fais
    k = 2 * z + 11

    et comme z est un texte sa valeur est 0
    k = 2 * 0 + 11 = 11 quel que soit "z"

    pour avoir une valeur numérique il faut écrire
    z = Val(InputBox("N° de la situation traitée:"))

    A+.
    0
    1. onra
       
      Merci,

      je crois bien que tu as la réponse.
      Le problème, c'est qu'il doit il y avoir une autre erreur dans le code qui fait que je n'arrive pas à lire/ou à copier (je ne sais pas trop) la colonne de résultat de la situation. en tout cas rien apparaît dans suivi financier

      en tout cas merci encore pour ton aide
      0