> 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
19,99 €Enceinte connectée Amazon Echo Dot (3ème génération) avec assistant Alexa à 19,99 €
Valable jusqu'au 03 Décembre

Amazon fait une promotion sur l'enceinte Amazon Echo Dot (3ème génération) qui passe à 19,99 € (au lieu de 49,99 €). L'appareil piloté par la voix fonctionne avec Alexa, l’intelligence artificielle développée par Amazon. Vous pourrez avec elle écouter de la musique, interagir avec vos appareils domotiques, écouter les infos, la radio, connaître la météo et d’accéder à des milliers d’autres possibilités grâce aux Skills : recettes de cuisine, petits jeux, etc. Par rapport à la génération précédente, le son est amélioré et l'enceinte arbore un nouveau design. 


> Voir l'offre
3ème offert2 jeux de société achetés = le 3ème offert
Valable jusqu'au 03 Décembre

Pour 2 jeux de société achetés sur Fnac.com, le 3ème vous est offert. Une très bonne affaire puisque vous trouverez des références parmi les 500 jeux disponibles comme 7 Wonders, Concept, Les Aventuriers du Rail, Pandemic, Splendor, Dixit, Catan, 6 qui prend, Exit, Unlock, Carcassone, Micro Macro Crime Cirty, Dragomino, ...


> Voir l'offre
44,99 €SSD PNY CS2130 500 Go (NMVe M.2, 3500 Mo/s) à 44,99 €
Valable jusqu'au 03 Décembre

Cdiscount fait une promotion sur le SSD PNY CS2130 500 Go (NMVe M.2) qui passe à 44,99 € livré alors qu'on le trouve ailleurs à partir de 70 €. Ce SSD utilise une interface M.2 NVMe PCIe Gen3 x 4 pour une connexion simple et des performances exceptionnelles : jusqu’à 3500 Mo/s en lecture séquentielle et jusqu’à 925 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

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