> 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
79,99 €SSD WD Blue SN550 1 To (NMVe M.2, 2400 Mo/s) à 79,99 €
Valable jusqu'au 01 Février

Cdiscount fait une promotion sur le SSD WD Blue SN550 1 To (NMVe M.2) qui passe à 79,99 € alors qu'on le trouve ailleurs à partir de 99 €. Ce SSD utilise une interface M.2 NVMe PCIe Gen3 x 4 pour une connexion simple et des performances exceptionnelles : jusqu’à 2 400 Mo/s en lecture séquentielle et jusqu’à 1 950 Mo/s en écriture séquentielle.

Le SSD est doté de la technologie 3D TLC NAND haute densité offrant une endurance d’écriture durable et assorti d’une garantie de cinq ans.


> Voir l'offre
57,89 €Kit de 16 Go (2 x 8 Go) de mémoire DDR4 PNY XLR8 3200 MHz à 57,89 €
Valable jusqu'au 28 Janvier

Cdiscount fait une promotion sur le kit de 16 Go (2x8 Go) de mémoire DDR4 PNY XLR8 3200 MHz CL16 qui passe à 57,89 € alors qu'on le trouve ailleurs à plus de 70 €. La version 32 Go (2x16 Go) est également en promotion à 102,99 € au lieu de 140 €.


> Voir l'offre
699,99 €PC portable 15.6 pouces Lenovo (FHD IPS, Ryzen 5, 8 Go de RAM, SSD 512 Go, GTX 1650) à 699 €
Valable jusqu'au 29 Janvier

Lenovo fait une promotion sur l'ordinateur portable Lenovo IdeaPad Gaming 3 15ACH6 qui passe à 699 € avec le code promo SOLDES alors qu'on le trouve ailleurs autour de 799 €. Ce portable dispose d'un écran de 15.6 pouces FullHD IPS (1920x1080), d'un processeur AMD Ryzen 5 5600H, de 8 Go de RAM, d'un SSD de 512 Go, d'une carte graphique dédiée NVIDIA GeForce GTX 1650 4 Go, du WiFi et du Bluetooth. Le tout tourne sous Windows 11.

Un bon portable adapté à la bureautique, au multimédia et aux jeux.


> 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