Bonjour.
Je dispose d'un fichier qui me sert à faire mes devis et que je développe au fur et à mesure sauf que là, je sèche.
J'ai plusieurs onglets, dont 2 qui seront tout le temps imprimés (Accomp et PageGarde)
Les autres (RENOVATION, ELECTRICITE, et PLOMBERIE) doivent être sélectionnés selon la valeur d'une cellule en particulier sur chacun (le montant devisé sur chaque onglet). Si égal à Zéro, il ne doit pas être sélectionné ni imprimé.
Le bouton qui me sert à imprimer le devis en pdf est sur l'onglet PageGarde.
Avant d'imprimer, je dois nettoyer pour la mise en page.
Ci-dessous la logique souhaitée:
1) Sur cette page, je masque les lignes dont les totaux sont égal à zéro entre F54 et F58. Cela fonctionne bien. Rien à corriger.
2) Sur cette même page, les cellules C31 et C32 sont déjà remplies et je souhaite faire glisser les cellules C41 et C42 sur la première ligne disponible après C32.
La formule que j'ai inscrite me permet simplement un couper/coller en C33 sans tenir compte de la valeur des cellules entre C32 et C40. Si j'ai une valeur en C33 et C34, c'est écrasé.
Je ne trouve pas de formules adaptées même en essayant avec une formule du type
3) Enfin, l'impression.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Sheets("PageGarde").Cells(Rows.Count, 1).End(xlUp)(2).PasteSpecial xlPasteValues Application.CutCopyMode = False
"Accomp" et "PageGarde" à imprimer en permanence.
L'onglet "RENOVATION" dépend de la valeur de la cellule nommée "Total_remisé_RENOVATION_HT"
L'onglet "ELECTRICITE" dépend de la valeur de la cellule nommée "Total_remisé_ELECTRICITE_HT"
L'onglet "PLOMBERIE" dépend de la valeur de la cellule nommée "Total_remisé_PLOMBERIE_HT"
Si égal à "" ou à "0", il ne doit pas être imprimé
Si valeur >0, doit être sélectionné puis imprimé.
Actuellement la formule que j'ai (mais qui m'imprime tous les onglets) est:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 Sub IMPRIMER_TEST() ' ' IMPRIMER_TEST Macro ' For Each cellule In [F54:F58] If cellule.Value = "" Then cellule.EntireRow.Hidden = True Next cellule Range("C41:C42").Select Selection.Cut Range("C33").Select ActiveSheet.Paste Dim Chemin As String, fichier As String Chemin = ThisWorkbook.Path Sheets(Array("Accomp", "PageGarde", "RENOVATION", "ELECTRICITE", "PLOMBERIE")).Select Sheets("Accomp").Activate ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ Chemin & "\" & Range("NUM_AFFAIRE") & " " & Range("REVISION") & " - " & Range("CLIENT_NOM") & " " & Range("CLIENT_PRENOM") & " - " & Range("OBJET_DEVIS") & " - DEVIS" & ".pdf" _ , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _ :=False, OpenAfterPublish:=False End Sub
Merci par avance pour votre aide.
Partager