> Tous les forums > Forum Bureautique
 besoin d'une macro excel 2007Sujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
noe2008
  Posté le 27/01/2015 @ 10:11 
Aller en bas de la page 
Petit astucien

salut les amis j'ai besoin d'une macro je vais simplifier : dans la feuille 1 dans la cellule A1 écrire 1 puis imprimer dans la cellule A1 écrire 2 puis imprimer dans la cellule A1 écrire 3 puis imprimer dans la cellule A1 écrire 4 puis imprimer ..................................... ..................................... dans la cellule A1 ecrire n puis imprimer c'est à dire changer la valeure de la cellule A1 de 1 à n et imprimer a chaque fois et je veux que je pourrai le nombre : n merci

Publicité
ferrand
 Posté le 27/01/2015 à 10:31 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonjour,

Quelque chose comme ça :

Sub ImprimerNb()
Dim n, i%
n = Application.InputBox("Combien voulez-vous d'impressions ?", "Impressions numérotées", , , , , , 1)
If IsNumeric(n) Then
n = CInt(n)
For i = 1 To n
Cells(1, 1).Value = i
ActiveSheet.PrintOut
Next i
End If
End Sub

noe2008
 Posté le 27/01/2015 à 14:05 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

merci je vais essayer

noe2008
 Posté le 27/01/2015 à 15:23 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

ça marche pas desolé

ferrand
 Posté le 27/01/2015 à 17:19 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

noe2008 a écrit :

ça marche pas desolé

Un peu court, jeune homme !

Si vous ne savez pas vous en servir, dîtes que vous ne savez pas !

Pas que ça ne marche pas, sans expliquer tout ce que vous avez fait pour parvenir à un tel résultat !

Suffit pas de regarder la macro pour qu'elle fonctionne !

noe2008
 Posté le 27/01/2015 à 23:57 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

monsieur ferrand

apparemment j'ai besoin d'une réponse pas d'un conseil

gilbert_rgi
 Posté le 28/01/2015 à 09:29 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

noe2008 a écrit :

ça marche pas desolé

ben si la macro de monsieur Ferrand fonctionne

c'est bien donc vous qui avez besoin d'un conseil pour la faire fonctionner

ferrand
 Posté le 28/01/2015 à 09:32 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

noe2008 a écrit :

monsieur ferrand

apparemment j'ai besoin d'une réponse pas d'un conseil

Tu demandes une macro, tu as une réponse qui te fournit une macro accomplissant l'action demandée.

Cette macro fonctionne parfaitement ! Si tu constates le contraire, c'est soit :

1) tu ne sais pas utiliser une macro (faut apprendre !)

2) tu n'es pas dans les conditions requises pour exécuter l'action voulue (faut t'y mettre !)

3) tu n'as pas posé la bonne question (là, ?)

foremar
 Posté le 28/01/2015 à 10:19 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour

Je confirme également que la macro de Ferrand fonctionne exactement comme la demande a été décrite.

Par contre, je ne vois pas très bien à quoi ça sert d'imprimer un 1, puis un 2 etc.... sur une feuille.

Visiblement, noe2008, il faut reformuler ta question pour décrire plus précisemment ce que tu veux obtenir.

Cordialement

noe2008
 Posté le 28/01/2015 à 11:10 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

salut

j'ai seuleument essayer de simplifier

ma feuille contient des cellules contenant des formules :" recherchev " une fois je change la valeur de la cellule A1 j'ai les donnée d'un autre client dans ma feuille

chaque soir je dois imprimer entre 200 et 500 cette feuille en changeant la valeur de A1

la macro me simplifiera cette tache penible

merci d'avance pour l'effort

gilbert_rgi
 Posté le 28/01/2015 à 11:20 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

alors qu'Est-ce qui ne fonctionne pas dans la macro

noe2008
 Posté le 28/01/2015 à 11:41 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

j'ai crée une macro j'ai copié" Sub ImprimerNb()

Dim n, i%
n = Application.InputBox("Combien voulez-vous d'impressions ?", "Impressions numérotées", , , , , , 1)
If IsNumeric(n) Then
n = CInt(n)
For i = 1 To n
Cells(1, 1).Value = i
ActiveSheet.PrintOut
Next i
End If

End Sub" et j-ai collé dans ma macro mais elle n'a pas fonctionné

ferrand
 Posté le 28/01/2015 à 11:54 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

et j-ai collé dans ma macro mais elle n'a pas fonctionné

Tu as collé où ?

NB- Quand on te fournit une macro complète (commençant par Sub... et se terminant par End Sub) et prête à fonctionner, tu la copies intégralement pour la coller dans un module standard), puis tu te places sur la feuille sur laquelle elle doit agir et tu lances son exécution (après avoir veillé au cas particulier que l'imprimante par défaut est sous tension et prête à fonctionner).



Modifié par ferrand le 28/01/2015 12:03
noe2008
 Posté le 28/01/2015 à 12:27 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

ça a fonctionné merci ferrand

ferrand
 Posté le 28/01/2015 à 15:07 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

eh bien, parfait ! Maintenant, tu as ajouté que tu lançais ainsi l'impression d'un plutôt grand nombre de pages. La macro les enverra à l'impression nettement plus vite que le déroulement de l'impression, il y a donc lieu de surveiller si cela n'entraîne pas de difficulté... Si c'était le cas, il serait sans doute judicieux de temporiser l'envoi à l'impression, et pour cela connaître le temps moyen d'impression d'une de tes pages.

noe2008
 Posté le 30/01/2015 à 11:25 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

salut monsieur ferrand

est il possible temporiser l'impression à 5 seconde entre chaque impression?

gilbert_rgi
 Posté le 30/01/2015 à 11:30 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour

voilà pour 5s fonctionne en 32bits

Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Function Message_Temporaire(Message As String, TpsenSeconde As Integer, TitreMessage As String)
CreateObject("WScript.Shell").PopUp Message, TpsenSeconde, TitreMessage
End Function

Sub ImprimerNb()
Dim n, i%
n = Application.InputBox("Combien voulez-vous d'impressions ?", "Impressions numérotées", , , , , , 1)
If IsNumeric(n) Then
n = CInt(n)
For i = 1 To n
Cells(1, 1).Value = i
ActiveSheet.PrintOut
Sleep (5000)
Next i
Message_Temporaire "Impressions terminées", 2, "Message"
Cells(1, 1).Value = ""
End If
End Sub



Modifié par gilbert_rgi le 30/01/2015 11:32
ferrand
 Posté le 30/01/2015 à 12:52 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

J'aurais pour ma part été au plus simple, sans faire appel à une API...

Sub ImprimerNb()
Dim n, i%
n = Application.InputBox("Combien voulez-vous d'impressions ?", "Impressions numérotées", , , , , , 1)
If IsNumeric(n) Then
n = CInt(n)
For i = 1 To n
Cells(1, 1).Value = i
ActiveSheet.PrintOut
Temporiser Time + TimeSerial(0, 0, 5)
Next i
End If
End Sub

Sub Temporiser(t)
Do While Time < t
Loop
End Sub

A tester selon convenance...

noe2008
 Posté le 30/01/2015 à 12:53 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

merci ça marche bien

gilbert_rgi
 Posté le 30/01/2015 à 14:14 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

ferrand a écrit :

J'aurais pour ma part été au plus simple, sans faire appel à une API...

il y a plusieurs chemins pour aller à Rome

une autre encore avec les API

Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Declare Function MessageBoxTimeout Lib "user32.dll" Alias "MessageBoxTimeoutA" ( _
ByVal hwnd As Long, _
ByVal lpText As String, _
ByVal lpCaption As String, _
ByVal uType As Long, _
ByVal wLanguageID As Long, _
ByVal lngMilliseconds As Long) As Long

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long

Public Sub test_impressions()
Const cmsg As String = "Impressions Terminées"
Const cTitle As String = "Message Popup"
Dim retval As Long
Dim n, i%
n = Application.InputBox("Combien voulez-vous d'impressions ?", "Impressions numérotées", , , , , , 1)
'MsgBox n
If n = False Then Exit Sub
If IsNumeric(n) Then
n = CInt(n)
For i = 1 To n
Cells(1, 1).Value = i
ActiveSheet.PrintOut
Sleep (5000) 'temporisation
Next i
'message temporaire
retval = MessageBoxTimeout(FindWindow(vbNullString, Title), cmsg, cTitle, 0, 0, 2000) 'en ms

If retval <> 7 Then
'ne rien faire
End If

Cells(1, 1).Value = ""
End If

End Sub

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
193,94 €Ecran PC LED 28 pouces Samsung U28E590D (4K UHD, 1 ms, Freesync) à 193,94 € livré
Valable jusqu'au 28 Novembre

Amazon Allemagne fait une promotion sur l'écran PC LED 28 pouces Samsung U28E590D qui passe à 180,50 € (avec la TVA ajustée). Comptez 13,44 € pour la livraison en France, soit un total de 193,94 € livré alors qu'on le trouve ailleurs à partir de 250 €. Cet écran au format 16/9 offre une dalle 4K (résolution 3840x2160) avec un temps de réponse de 1 ms. Il est compatible FreeSync. Une bonne affaire ! 

Vous pouvez utiliser votre compte Amazon France sur Amazon Allemagne et il n'y a pas de douane. Si vous êtes perdu en allemand, vous pouvez traduire le site en anglais.


> Voir l'offre
39,90 €Montre connectée Xiaomi MI Watch Lite à 39,90 €
Valable jusqu'au 29 Novembre

Amazon fait une une belle promotion sur la montre connectée Xiaomi MI Watch Lite qui passe à à 39,90 € au lieu de 69 €. Elle dispose d'écran couleur de 1,4 pouce affichant une définition de 320 x 320 pixels et ne pèse que 35 g. Cinq cadrans sont proposés par défaut, pour varier le style en fonction de votre envie. Du côté des fonctionnalités, vous trouverez le suivi du sommeil, l'analyse de la fréquence cardiaque, des exercices de respiration et un GPS précis capable d'indiquer l’altitude et la pression atmosphérique de votre environnement. 

Elle fait également office de coach sportif en traquant le nombre de pas, la distance parcourue ou encore les calories brûlées et reconnait jusqu'à 11 activités sportives : la course en extérieur, le tapis roulant, le cyclisme extérieur et intérieur, le trekking, la natation, le yoga, etc. D'autres informations sont disponibles sur la Mi Watch Lite, comme l’affichage des notifications avec les emojis, la météo ou encore l'alarme de votre réveil. Il est également possible de prendre des appels entrants, contrôler sa musique et rechercher son téléphone.

Côté autonomie, comptez 9 jours en utilisation standard et 10 heures en mode sport avec le GPS activé en continu. 


> Voir l'offre
349,99 €Casque de VR Oculus Quest 2 128 Go à 349,99 € (+50 € crédit Amazon)
Valable jusqu'au 29 Novembre

Amazon fait une promotion sur la dernière version du casque de réalité virtuelle Oculus Quest 2 128 Go qui passe à 349,99 € livré gratuitement avec un code de réduction de 50 € pour vos futurs achats sur Amazon. Ce code de réduction vous sera envoyé par email une fois le contrat d'achat conclu suite à l'expédition de la commande. Le code de réduction peut être utilisé pour acheter des produits vendus et expédiés par Amazon.fr jusqu'au 14 janvier 2022.

Oculus Quest 2 est un système de jeu tout-en-un conçu spécialement pour la réalité virtuelle. Vous pouvez désormais jouer pratiquement n’importe où avec pour seul matériel un casque VR et des manettes. Oubliez la nécessité d'un PC ou d'une console et profitez d'une immersion complète immédiatement. Ce modèle propose des performances supérieures avec un processeur ultra-rapide, 6 Go de RAM et une capacité de 128 Go. Bénéficiez d'un écran LCD avec 50% de pixels en plus par rapport à l'Oculus Quest. Notez qu'il est quand même possible de l'utiliser sur PC grâce à un câble USB C ou sans fil en WiFi.


> Voir l'offre

Sujets relatifs
[Excel 2007] Macro : Sélection d'un tableau selon sa longueur variable
excel 2007 macro mise en page, quadrillage, filtre
Excel 2007 macro rajouter tri + cellule en surbrillance à chaque changement
macro sous excel 2007
(Macro) Copier onglet sur autre fichier Excel (2007)
Probleme excel - tri dans macro Excel 2007
macro majuscule dans excel 2007
copier des cellules avec une macro excel 2007
Excel 2007 Affecter bouton barre d'outils à macro.
Macro - Insérer une ligne vierge sous Excel 2007
Plus de sujets relatifs à besoin d''une macro excel 2007
 > Tous les forums > Forum Bureautique