> Tous les forums > Forum Bureautique
 VBA macro avec formule si( pour imprimerSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
Obelix73
  Posté le 23/08/2010 @ 20:41 
Aller en bas de la page 
Petit astucien

Bonsoir à tous,

Je suis novice en VBA, j'arrive à lire et à comprendre certaines macros.
Je voudrais faire une macro "impression" qui en clair dirait:

si(C3=1;"tu imprime l'onglet nommé dans la cellule A3"; sinon tu fait rien) puis
si(C4=1;"tu impression l'onglet nommé dans la cellule A4"; sinon tu fait rien) puis
si(C5=1;"tu impression l'onglet nommé dans la cellule A5"; sinon tu fait rien) puis
et ainsi de suite jusqu'à C257.

J'ai cherché sur le forum mais je n'ai pas trouvé de formules en VBA.

D'avance merci à tous ceux qui pourrons m'aider à traduire ce language clair en VBA (ou me rediriger vers un forum plus approprié ?).

@+
Merci

Publicité
galopin01
 Posté le 23/08/2010 à 21:37 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonsoir,

Voici une macro qui te fera ça :

Sub test()
For i = 3 To 257
If Cells(i, 3) = 1 Then Sheets(Cells(i, 1).Value).PrintOut preview:=True
Next
End Sub

Macro à coller dans le module de la feuille qui pilote la chose
Avec cette macro tu as un aperçu avant impression avant, ce qui te permet d'éviter d'user du papier pour rien pendant la phase de réglage...

Si tu supprimes le preview:=True l'impression se fait directement et tu as intéret à prévoir le papier avant !

A+

Obelix73
 Posté le 23/08/2010 à 22:17 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonsoir Galopin01,

Merci pour cette macro mais elle prend en compte les onglets dans l'ordre ou ils sont placés dans mon fichier.

Moi j'aimerais si cela est possible bien sur en VBA, c'est:

si(C3=1;impression del'onglet nommé dans la cellule A3"; "") puis
si(C4=1;impression del'onglet nommé dans la cellule A4"; "") puis
si(C5=1;impression del'onglet nommé dans la cellule A5"; "") et ainsi de suite jusqu'à la cellule C257.

un peu tordu, mais cela me permettrais de sélectionner les feuilles à imprimer selon les besoins, au lieu de toujours imprimer 257 pages.

@+

encore merci,

galopin01
 Posté le 24/08/2010 à 02:55 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

As-tu essayé seulement ?

ça te parait trop court ? t'aurais préféré que je te le fasse en 4 pages ?



Modifié par galopin01 le 24/08/2010 04:56
Obelix73
 Posté le 24/08/2010 à 07:12 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour Galopin01,

Je ne me serais jamais permis de te repondre sans avoir fait des tests au préalable .

J'ai effectivement testé à plusieurs reprise ta macro.

Ce matin après une bonne nuit de sommeil, Je viens de comprendre le pourquoi du disfonctionnement.

j'ai 7 onglets de contrôle positionnés en début de fichier puis j'ai mes 257 onglets nommés de 1 à 257.

j'ai donc mis les onglets de 1 à 257 au début puis mes 7 onglets de contrôle à la fin du fichier (moins pratique pout travailler mais cela fonctionne).

Je ne me permettrais pas de te faire perdre ton temps car tu m'en fais tellement gagner avec tes macros.

encore merci Galopin01,

@+

Obelix73

galopin01
 Posté le 24/08/2010 à 10:00 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

bonjour,

Le problème est certainement que tu as nommé tes onglets avec des numéros or ce n'était pas précisé...

Dans ce cas il faut modifier comme suit :

Sub test()
For i = 3 To 257
If Cells(i, 3) = 1 Then Sheets(CStr(Cells(i, 1).Value)).PrintOut preview:=True
Next
End Sub

A+

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
269,99 €Ecran 27 pouces Acer Nitro VG272U (WQHD, IPS, 1 ms, 144 Hz, FreeSync/Gsync) à 269,99 €
Valable jusqu'au 28 Janvier

Cdiscount fait une belle promotion sur l'écran 27 pouces Nitro VG272U qui passe à 269,99 € alors qu'on le trouve ailleurs à partir de 379 €. Cet écran dédié aux joueurs dispose d'une dalle IPS WQHD de 2560x1440 pixels et supporte le HDR. Grâce à sa compatibilité Freesync et Gsync (144 Hz) et son temps de réponse rapide de 1 ms, ce moniteur Acer offre une excellente fluidité d'affichage. Interfaces : 2 x HDMI, DP (1.2).


> Voir l'offre
8,99 €Lot de 32 piles Philips AAA à 8,99 €
Valable jusqu'au 27 Janvier

Fnac fait une promotion sur le lot de 32 piles Philips AAA qui passe à 8,99 € au lieu de 15 €.


> Voir l'offre
GratuitJeu PC Relicta gratuit
Valable jusqu'au 27 Janvier

Epic Game Store offre actuellement le jeu Relicta. Relicta est un jeu d'énigmes basées sur la physique. En vue à la première personne, vous devez combiner magnétisme et gravité pour que les secrets de la Base Chandra vous soient révélés. Seule dans les profondeurs de la lune, votre esprit scientifique est la seule chose qui va pouvoir garder votre fille en vie… Audio en anglais, texte en français. Pegi 16.


> Voir l'offre

Sujets relatifs
raccourci ou macro pour imprimer avec options ?
soucis avec Excel starter 2010 pour imprimer..
raccourci pour imprimer avec options
Macro pour imprimer une liste
macro pour enregistrer fichier avec nom d1cellule
cherche une macro ou formule avec "si" et "alors"
Formule pour somme avec deux critères
macro pour comparer 2 listes
Creation d' une boucle macro dans fichier EXCEL pour impression
Macro pour word 2013
Plus de sujets relatifs à VBA macro avec formule si( pour imprimer
 > Tous les forums > Forum Bureautique