OVH Cloud OVH Cloud

bornes

6 réponses
Avatar
SOCARA Strasbourg
Bonjour,
ce bout de code me permet de lancer une impression
avec le parametre "matri" qui prend tour a tour toutes les valeurs contenues
dans la plage "num"

For Each C In Range("num")
Range("matri") = C.Value
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Next

comment pourrais-je faire pour limiter ces impressions à des valeurs
contenues entre
"Prem_Num" et "Dern_Num"

j'ai essayé cela, mais ça ne marche pas
For Each C In Range("num")
If Resultat = (Prem_Num <= C <= Dern_Num) Then
Range("matri") = C.Value
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Else
Next

6 réponses

Avatar
Ellimac
Bonjour,

If C >= Prem_Num and C <= Dern_Num Then

Camille
-----Message d'origine-----
Bonjour,
ce bout de code me permet de lancer une impression
avec le parametre "matri" qui prend tour a tour toutes
les valeurs contenues

dans la plage "num"

For Each C In Range("num")
Range("matri") = C.Value
ActiveWindow.SelectedSheets.PrintOut Copies:=1,
Collate:=True

Next

comment pourrais-je faire pour limiter ces impressions à
des valeurs

contenues entre
"Prem_Num" et "Dern_Num"

j'ai essayé cela, mais ça ne marche pas
For Each C In Range("num")
If Resultat = (Prem_Num <= C <= Dern_Num) Then
Range("matri") = C.Value
ActiveWindow.SelectedSheets.PrintOut Copies:=1,
Collate:=True

Else
Next


.



Avatar
SOCARA Strasbourg
Ca parraissait être une bonne soluce mais cela ne
fonctionne pas et je pense que c'est parceque
le nom "num" fait référence à une plage de données.
non ?
"Pierre Fauconnier" a écrit dans le message de
news:
Bonjour

For Each C In Range("num")
If Range("num") >= Prem_Num AND range("num") <= Dern_Num then
Range("matri") = C.Value
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End If
Next

A adapter selon que tes bornes sont comprises ou non ( >= ou > , <= ou < )


--
Cela convient-il?
----
Pierre Fauconnier
"C'est lorsqu'il y a un temps mort qu'il faut tuer le temps..."

SOCARA Strasbourg wrote:
Bonjour,
ce bout de code me permet de lancer une impression
avec le parametre "matri" qui prend tour a tour toutes les valeurs
contenues dans la plage "num"

For Each C In Range("num")
Range("matri") = C.Value
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Next

comment pourrais-je faire pour limiter ces impressions à des valeurs
contenues entre
"Prem_Num" et "Dern_Num"

j'ai essayé cela, mais ça ne marche pas
For Each C In Range("num")
If Resultat = (Prem_Num <= C <= Dern_Num) Then
Range("matri") = C.Value
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Else
Next






Avatar
SOCARA Strasbourg
Désolé Pierre, j'ai modifié ta formule comme indiqué,
mais il ne semble pas fonctionner.
C ne prends pas les différentes valeurs comprise dans la plage "num" entre
les bornes Prem_num et Dern_Num

Pour info, j'ai plusieurs "degrès" de if ... then ... else imbriqués
en fait voici une image de mes imbrications

if verif 1 then
code 1
esle
if verif 2 then
code 2
else
if verif 3 then
code 3
else
if verif 4 then
Application.ScreenUpdating = False
For Each C In Range("num")
If C >= Prem_Num And C <= Dern_Num Then
Range("matri") = C.Value
ActiveWindow.SelectedSheets.PrintOut Copies:=1,
Collate:=True
End If
Next
Application.ScreenUpdating = True
else
code 5
end if
end if
end if....

c'est pas la structure la plus simple, mais c'est c'que j'peux faire de
mieu..
"Pierre Fauconnier" a écrit dans le message de
news:
Heu, sorry,

il faut lire

if C >= Prem_Num AND C <= Dern_Num Then

Je pense que c'est mieux ainsi

Pierre
Next










Avatar
Pierre Fauconnier
Bonjour

1. Le test If C >= ... fonctionne convenablement.
Vérifie que tes variables Prem_Num et Dern_Num ont bien les valeurs que tu
souhaites. Pour cela, je te propose d'exécuter ta macro pas à pas. Lorsque
tu arrives sur la ligne de test, pointe avec ta souris sur Dern_Num et
Prem_Num. L'infobulle te renseignera les valeurs respectives de ces
variables.
Vérifie aussi que verif4 permet de passer sur ton test If C >= ...

Pour ce qui est de la structure, je ne connais pas la teneur exacte de
Verif1 ... Verif5, mais tu pourrais, s'il s'agit de tester plusieurs états
de la même variable, utiliser Select Case ... Case... End Select

Select Case Verif
Case 1
...
Case 2
...
Case 3
...
Case ...

Case Else ' Facultatif
...
End Select



--
Cela convient-il?
----
Pierre Fauconnier
"C'est lorsqu'il y a un temps mort qu'il faut tuer le temps..."

SOCARA Strasbourg wrote:
Désolé Pierre, j'ai modifié ta formule comme indiqué,
mais il ne semble pas fonctionner.
C ne prends pas les différentes valeurs comprise dans la plage "num"
entre les bornes Prem_num et Dern_Num

Pour info, j'ai plusieurs "degrès" de if ... then ... else imbriqués
en fait voici une image de mes imbrications

if verif 1 then
code 1
esle
if verif 2 then
code 2
else
if verif 3 then
code 3
else
if verif 4 then
Application.ScreenUpdating = False
For Each C In Range("num")
If C >= Prem_Num And C <= Dern_Num Then
Range("matri") = C.Value
ActiveWindow.SelectedSheets.PrintOut Copies:=1,
Collate:=True
End If
Next
Application.ScreenUpdating = True
else
code 5
end if
end if
end if....

c'est pas la structure la plus simple, mais c'est c'que j'peux faire
de mieu..
"Pierre Fauconnier" a écrit dans le
message de news:
Heu, sorry,

il faut lire

if C >= Prem_Num AND C <= Dern_Num Then

Je pense que c'est mieux ainsi

Pierre
Next










Avatar
SOCARA Strasbourg
Tu vas me prendre pour un idiot mais voilà
j'ai modifier mon code pour essayer de trouver ce qui ne va aps

voici
Sheets("feuil4").Select
Range("n1").Select
For Each C In Range("num")
ActiveCell.Value = C.Value
Selection.Offset(1, 0).Select
Next

ce code fonctionne
mais quand je rajoute la vérif
Sheets("feuil4").Select
Range("n1").Select
For Each C In Range("num")
If C >= Prem_Num And C <= Dern_Num Then
ActiveCell.Value = C.Value
End If
Selection.Offset(1, 0).Select
Next

ca ne marche plus.

"Pierre Fauconnier" a écrit dans le message de
news:
Bonjour

1. Le test If C >= ... fonctionne convenablement.
Vérifie que tes variables Prem_Num et Dern_Num ont bien les valeurs que tu
souhaites. Pour cela, je te propose d'exécuter ta macro pas à pas. Lorsque
tu arrives sur la ligne de test, pointe avec ta souris sur Dern_Num et
Prem_Num. L'infobulle te renseignera les valeurs respectives de ces
variables.
Vérifie aussi que verif4 permet de passer sur ton test If C >= ...

Pour ce qui est de la structure, je ne connais pas la teneur exacte de
Verif1 ... Verif5, mais tu pourrais, s'il s'agit de tester plusieurs états
de la même variable, utiliser Select Case ... Case... End Select

Select Case Verif
Case 1
...
Case 2
...
Case 3
...
Case ...

Case Else ' Facultatif
...
End Select



--
Cela convient-il?
----
Pierre Fauconnier
"C'est lorsqu'il y a un temps mort qu'il faut tuer le temps..."

SOCARA Strasbourg wrote:
Désolé Pierre, j'ai modifié ta formule comme indiqué,
mais il ne semble pas fonctionner.
C ne prends pas les différentes valeurs comprise dans la plage "num"
entre les bornes Prem_num et Dern_Num

Pour info, j'ai plusieurs "degrès" de if ... then ... else imbriqués
en fait voici une image de mes imbrications

if verif 1 then
code 1
esle
if verif 2 then
code 2
else
if verif 3 then
code 3
else
if verif 4 then
Application.ScreenUpdating = False
For Each C In Range("num")
If C >= Prem_Num And C <= Dern_Num Then
Range("matri") = C.Value
ActiveWindow.SelectedSheets.PrintOut Copies:=1,
Collate:=True
End If
Next
Application.ScreenUpdating = True
else
code 5
end if
end if
end if....

c'est pas la structure la plus simple, mais c'est c'que j'peux faire
de mieu..
"Pierre Fauconnier" a écrit dans le
message de news:
Heu, sorry,

il faut lire

if C >= Prem_Num AND C <= Dern_Num Then

Je pense que c'est mieux ainsi

Pierre
Next














Avatar
SOCARA Strasbourg
Ok mon problème est résolu.
Vu que la vérification "directe" du bornage de ma valeur ne marchait pas
j'ai ajouter un filtre élabloré, qui me créé une liste qui respecte le
bornage..

Merci pour ton aide