| 1 rasta67, le 8 mar 2007 à 10:34:45Salut
a chaque impression il faut prendre la valeur de ta (ou tes) cases de la feuille : nom_feuille.cells(ligne,colonne) et d'augmenter leur valeur de 4 si je comprends bien... Répondre à rasta67 | 2 Alex, le 8 mar 2007 à 10:37:33Salut, oui c'est exactement celà. Répondre à Alex | 3 rasta67, le 8 mar 2007 à 10:41:52Si je comprends tu peux faire un truc du style :
dim nb as integer
à la fonction d'impression ajouter :
nb = sheet(nom de la feuille).cells(ligne,collone).value
sheet(nom de la feuille).cells(ligne,collone).value = nb + 4
a faire pour chaque cellule que tu veux incrementer de 4 Répondre à rasta67 | 4 Alex, le 8 mar 2007 à 10:58:36Oui c'est celà, mais je n'y arrive pas.
Lorsque je fais celà j'ai un message d'erreur qui dit
Compile error : Sub or Function not defined.
en plus je ne sais pas comment lui faire comprendre d'exécuter la commande après chaque impression.
merci
Alex Répondre à Alex | 5 rasta67, le 8 mar 2007 à 11:04:50Il faut mettre le code dans une procedure (sub) dans un module par exemple qui sera lancée à l'événement d'impression...
sub Incremente()
'code qui incremente les valeurs'
end sub
ensuite dans l'événement d'impression, faire un call Incremente Répondre à rasta67 |
| 6 rasta67, le 8 mar 2007 à 11:07:05L'événement en l'ocurrence declenché avant impression est workbook_beforeprint() Répondre à rasta67 | 7 Alex, le 8 mar 2007 à 11:18:46Oui, c'est ce que j'ai fait mais j'ai toujours le message, mon code est le suivant
Sub Incremente()
' Macro recorded 3/8/2007 by alex
'code qui incremente les valeurs'
'
Dim nb As Integer
nb = Sheet("Sheet1").Cells("A1").Value
Sheet("Sheet1").Cells("A1").Value = nb + 4
End Sub
merci
Alex Répondre à Alex | 8 rasta67, le 8 mar 2007 à 11:21:24Tu as mis cette fonction dans un module ??
tu l'appelles à quel moment ?
à quel moment a lieu ton message d'erreur ? Répondre à rasta67 | 9 Alex, le 8 mar 2007 à 11:43:48Oui elle apparait dans un module [Module1 (code)]
j'essaie de l'utiliser en appuyant sur le bouton play pour faire tourner la macro
le message d'erreur apparait de suite après
Sub Incremente() apparait en jaune avec une flèche sur la gauche
et le mot Sheet est en bleu.
merci
Alex Répondre à Alex | 10 rasta67, le 8 mar 2007 à 11:53:09Comme c'est dans un module, avant le nom de ta sheet, tu dois indiquer le nom du workbook puisque tu en es sorti
dans la fonction Incremente de ton module il faut inserer:
nom_Worbook.sheet.cells(...) Répondre à rasta67 | 11 Alex, le 8 mar 2007 à 14:07:57Je suis vraiment mauvais... je n'y arrive pas ou alors je fais un truc faux... Répondre à Alex | 12 rasta67, le 8 mar 2007 à 14:16:26Non ca doit etre un tout petit truc qui foire !! c'est toujours comme ca !!
tu connais la technique du CTRL + Espace ?
tu mets dans la proc sub
nom de ton workbook (premieres lettres + CTRL - Espace, tu as tout les objets listés, tu choisis le tien, après point , puis controle espace, ainsi de suite...) Répondre à rasta67 |
| 13 Alex, le 8 mar 2007 à 14:37:12Je sais mais je désespère ça doit être simple et je n'y arrive même pas...
après plein d'essais sans résultat j'arrive à:
Sub Incremente()
'
' Macro recorded 3/8/2007 by alex
'code qui incremente les valeurs'
'
Windows("InputTicket.xls").Activate
Sheets("Sheet1").Activate
Range("A1").Activate
Dim nb As Integer
nb = ActiveSheet.Cells ActiveCell.Value
ActiveSheet.Cells ActiveCell.Value = nb + 4
'
End Sub Répondre à Alex |
| 15 Alex, le 9 mar 2007 à 14:12:58J'ai trouvé après une nuit de recherches.. :-)
Sub Button1_Click()
' print Chart macro
' prints the chart and moves counter defined in A1 up by 4
Dim x As Integer
Dim STDprinter As String
STDprinter = Application.ActivePrinter
Range("A1").Select
x = ActiveCell
Sheets("Chart1").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:=STDprinter
'"\\chgnva999m\CHGNPE08P on Ne02:", Collate:=True
x = x + 4
Sheets("Sheet1").Select
ActiveCell = x
End Sub
Sub Macro2()
'
' Macro2 Macro
'
'
Sheets("Chart1").Select
End Sub Répondre à Alex |
|
|
|
| Salut , je debute en vba et jai un souci aussi du meme genre
je dois sauvegarder des pesées(chiffres contenu ds 20 cellules C1 à C20) dans un fichier sous le bureau a chaque fois que la cellule c20 est pleine.je voudrais donc créer un bOucle qui me permet cela sans ecraser le fichier precedent ,en qq sorte qu il s enregistre sous un nom, pesée 1 ,pesée 2, pesée3 jusqua pesée x , si cela est possible la preference serait meme de mettre l heure de chaque enregistrement a la place de x puisque les valeurs défilent tt le temps
merci d avance
merci de votre lecture Répondre à developp |
|
|
|
|
|
|
|