Allégé macro

K

klorane

Guest
Bonjour à tous,

quelle serait la macro qui pourrait me reduire les lignes ci dessous:

If Range('BX51').Value = 0 Then
Range('BY51') = 'N'
End If
If Range('BX52').Value = 0 Then
Range('BY52') = 'N'
End If
If Range('BX53').Value = 0 Then
Range('BY53') = 'N'
End If
If Range('BX54').Value = 0 Then
Range('BY54') = 'N'
End If
If Range('BX55').Value = 0 Then
Range('BY55') = 'N'
End

et le temps que j'y suis pour eviter de remettre un nouveau post, quelle macro faudrait il pour que:
si j'ai dans la colonne A les chiffres suivants : 5,10,15,20,25,30,35,40,45,50 la lettre E apparaisse en face de la valeur dans la colonne B et si j'ai les chiffres suivants en colonne A: 4,9,14,19,24,29,34,39,44,49 la lettre F apparaisse en face de la valeur dans la colonne B

exemple si :
A1=4 donc B1=F
A2=14 donc B2=F
A3=45 donc B3=E etc....

Merci.
Sylvain
 

Hervé

XLDnaute Barbatruc
Bonjour sylvain, le forum

pour tes deux questions, tu peux essayer ceci :


Sub Bouton1_QuandClic()
Dim c As Range

For Each c In Range('bx51:bx55')
If c = 0 Then c.Offset(0, 1) = 'N'
Next c
End Sub
'___________________________________________________________
Sub Bouton2_QuandClic()
Dim c As Range

For Each c In Range('a1:a' & Range('a65536').End(xlUp).Row)
Select Case c
Case 5, 10, 15, 20, 25, 30, 35, 40, 45, 50
c.Offset(0, 1) = 'E'
Case 4, 9, 14, 19, 24, 29, 34, 39, 44, 49
c.Offset(0, 1) = 'F'
End Select
Next c
End Sub


salut

Message édité par: hervé, à: 29/11/2005 10:34
 

klorane

XLDnaute Occasionnel
Merci Hervé pour ta réponse!

Voilà qui est mieux pour ma feuille.

j'en profite pour te demander, quelle chose faut il modifier dans la 2eme macro pour que la valeur E ou F ne soit pas mise dans la colonne B mais dans la colonne C par exemple car je vais utiliser cette macro pour d'autres utilisations.

Merci.
 

Hervé

XLDnaute Barbatruc
Bonsoir klorane

pour mettre dans la colonne C, tout se passe dans le offset (decaler des formules excel) :

offset(ligne, colonne)

range('a1').offset(0,1)=décaler d'une colonne à droite à partir de A1
range('a1').offset(1,0)=décaler d'une ligne vers le bas...
range('c1').offset(0,-2)=décaler de 2 colonnes vers la gauche....

donc dans ton cas : c.offset(0,2)

voila :)

salut
 

Statistiques des forums

Discussions
311 715
Messages
2 081 822
Membres
101 821
dernier inscrit
hybroxis