macro pour sélectionner les cellules dont la police est non barrée

michel.dupont

XLDnaute Occasionnel
Bonjour
Dans une feuille j'ai des lignes contiguës avec des cellules avec une police 'normal' et en dessous d'autres lignes également contiguës avec des cellules barrées. je cherche à écrire une macro pour sélectionner en vue d'une impression uniquement les lignes dont la police est non barrée, le nombre de ligne pouvant varier.Pour une meilleure compréhension je joins un petit fichier explicatif...un grand merci pour votre aide
bonne soirée
Michel
 

Pièces jointes

  • test1.xlsm
    12.1 KB · Affichages: 16

vgendron

XLDnaute Barbatruc
Hello

Voici un code qui te permet de créer la zone d'impression
VB:
Sub Macro2()
'
' Macro2 Macro
'
'
    With ActiveSheet 'dans la feuille active
        fin = .Range("A" & .Rows.Count).End(xlUp).Row 'on détecte le numéro de la dernière ligne du tableau
        For Each cell In .Range("B2:B" & fin) 'pour chaque cellule de la colonne B
            If cell.Font.Strikethrough = True Then 'si c'est barré
                FinZone = cell.Row - 1 'on a trouvé la dernière ligne
                Exit For
            End If
        Next cell
    End With
   
    ActiveSheet.PageSetup.PrintArea = Range("A2:N" & FinZone).Address 'on définit la zone d'impression
End Sub
 

michel.dupont

XLDnaute Occasionnel
Sub Macro2()
'
' Macro2 Macro
'
'

With ActiveSheet 'dans la feuille active
fin = .Range("A" & .Rows.Count).End(xlUp).Row 'on détecte le numéro de la dernière ligne du tableau
For Each cell In .Range("B2:B" & fin) 'pour chaque cellule de la colonne B
If cell.Font.Strikethrough = True Then 'si c'est barré
FinZone = cell.Row - 1 'on a trouvé la dernière ligne
Exit For
End If
Next cell
End With

ActiveSheet.PageSetup.PrintArea = Range("A2:N" & FinZone).Address 'on définit la zone d'impression
End Sub


un très grand merci pour ton aide...c'est tout a fait ce que je voulais...
bonne soirée amicalement
Michel
 

Discussions similaires