• Initiateur de la discussion Initiateur de la discussion Goose
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Goose

XLDnaute Occasionnel
Bjr à tous,
en partant de la macro suivante:

Code:
Sub Definir()
Dim derligne
Dim i
derligne = Range("O65536").End(xlUp).Row
For i = derligne To 1 Step -1
    If Range("O" & i).Value = 1 Then
    derligne = i
    Exit For
    End If
Next i
Range("C6:N" & derligne).Select
ActiveSheet.PageSetup.PrintArea = "$C$6:$N$" & derligne

j'aimerai définir, a présent, seulement les lignes dont la valeur en O contient 1 !!
comment modifier le code ?
merci de votre aide
@+
 
Re : Définir par macro

Bjr Pierrot,
en faite, j'ai oublié de préciser que la zone d'impression ne dépend plus de C6 et de derligne, mais dépend de la valeur 1 !!
ainsi, comment transformer la ligne de code ci-dessous ?
Code:
Range("C6:N" & derligne).Select

@ te lire
 
Re : Définir par macro

Re,
regarde peut être ceci :
Code:
Option Explicit
Sub test()
Dim c As Range, x As Byte, y As Integer
Set c = Range("C65536").End(xlUp)
x = Range("C6", c).Find("1", c, xlValues, xlPart, 1, 1, 0).Row
y = Range("C6", c).Find("1", , xlValues, xlPart, 1, 2, 0).Row
Range("C" & x & ":C" & y).Select
End Sub
 
Re : Définir par macro

Merci Pierrot,
j'ai adapté ta macro a mon fichier (ci-joint)
malheureusement, elle ne prends pas la plage avec les lignes de valeur 1 !!

j'ai penser adapter le code suivant, mais sans succès !!
Code:
Dim c As Range
For Each c In Range("O4:O39")
If c.Value = "1" Then
Range("D" & c & ":N" & c).Select
End If
Next
Range("D3").Select
End Sub
 

Pièces jointes

Re : Définir par macro

Re,

ceci semble fonctionner chez moi sur ton fichier :
Code:
Option Explicit
Sub test()
Dim c As Range, x As Byte, y As Integer
Set c = Range("o65536").End(xlUp)
x = Range("o4", c).Find("1", c, xlValues, xlPart, 1, 1, 0).Row
y = Range("o4", c).Find("1", , xlValues, xlPart, 1, 2, 0).Row
Range("D" & x & ":N" & y).Select
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
5
Affichages
909
Réponses
15
Affichages
782
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
903
Réponses
2
Affichages
527
Retour