macro qui agit sur toutes les feuilles d'un classeur
2 réponses
newoceane2000
Bonsoir,
Je ne vois pas mon message s'afficher donc je recommence en esp=E9rant
qu'il n'apparaitra pas en double...
J'ai besoin de votre aide : j'ai une macro qui marche tr=E8s bien sur
une feuille (elle remplace les chiffre de la colonne B en lettre). Le
code est le suivant :
Sub test()
For Each b In Range("b1:b" & Range("b65536").End(xlUp).Row)
Select Case b
Case 30.000001 To 100: Range("B" & b.Row) =3D "A"
Case 10.000001 To 30: Range("B" & b.Row) =3D "B"
Case 3.000001 To 10: Range("B" & b.Row) =3D "C"
Case 1.000001 To 3: Range("B" & b.Row) =3D "D"
Case 0.300001 To 1: Range("B" & b.Row) =3D "E"
Case 0.100001 To 0.3: Range("B" & b.Row) =3D "F"
Case Is <=3D 0.1: Range("B" & b.Row) =3D "G"
End Select
Next
End Sub
Je voudrais avoir une macros qui fait la m=EAme chose en un clic mais
SUR TOUTES LES FEUILLES d'un fichier excel.
Etant tr=E8s novice en vba merci de me pr=E9cicer o=F9 copier le code vba si
ce n'est pas dans Feuil1...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Pierre Fauconnier
Bonsoir
En ajoutant une itération sur les feuilles du classeur Sub Test() Dim Feuille As Worksheet For Each Feuille In Worksheets for each b in feuile.range("b1:b" & feuille.range(... select case b case 30.000001 to 100: feuille.range("b" & ... ... end select next b next feuille end sub
Attention! Ne pas oublier d'ajouter Feuille devant CHAQUE objet Range
ok?
Sub test() For Each b In Range("b1:b" & Range("b65536").End(xlUp).Row) Select Case b Case 30.000001 To 100: Range("B" & b.Row) = "A" Case 10.000001 To 30: Range("B" & b.Row) = "B" Case 3.000001 To 10: Range("B" & b.Row) = "C" Case 1.000001 To 3: Range("B" & b.Row) = "D" Case 0.300001 To 1: Range("B" & b.Row) = "E" Case 0.100001 To 0.3: Range("B" & b.Row) = "F" Case Is <= 0.1: Range("B" & b.Row) = "G"
End Select Next End Sub
-- Pierre Fauconnier Il n'y a jamais eu un moment dans votre vie qui ne se passait pas "maintenant" et il n'y en aura jamais (Eckart Toll in "Le pouvoir du moment présent")
Bonsoir
En ajoutant une itération sur les feuilles du classeur
Sub Test()
Dim Feuille As Worksheet
For Each Feuille In Worksheets
for each b in feuile.range("b1:b" & feuille.range(...
select case b
case 30.000001 to 100: feuille.range("b" & ...
...
end select
next b
next feuille
end sub
Attention! Ne pas oublier d'ajouter Feuille devant CHAQUE objet Range
ok?
Sub test()
For Each b In Range("b1:b" & Range("b65536").End(xlUp).Row)
Select Case b
Case 30.000001 To 100: Range("B" & b.Row) = "A"
Case 10.000001 To 30: Range("B" & b.Row) = "B"
Case 3.000001 To 10: Range("B" & b.Row) = "C"
Case 1.000001 To 3: Range("B" & b.Row) = "D"
Case 0.300001 To 1: Range("B" & b.Row) = "E"
Case 0.100001 To 0.3: Range("B" & b.Row) = "F"
Case Is <= 0.1: Range("B" & b.Row) = "G"
End Select
Next
End Sub
--
Pierre Fauconnier
Il n'y a jamais eu un moment dans votre vie qui ne se passait pas
"maintenant" et il n'y en aura jamais (Eckart Toll in "Le pouvoir du
moment présent")
En ajoutant une itération sur les feuilles du classeur Sub Test() Dim Feuille As Worksheet For Each Feuille In Worksheets for each b in feuile.range("b1:b" & feuille.range(... select case b case 30.000001 to 100: feuille.range("b" & ... ... end select next b next feuille end sub
Attention! Ne pas oublier d'ajouter Feuille devant CHAQUE objet Range
ok?
Sub test() For Each b In Range("b1:b" & Range("b65536").End(xlUp).Row) Select Case b Case 30.000001 To 100: Range("B" & b.Row) = "A" Case 10.000001 To 30: Range("B" & b.Row) = "B" Case 3.000001 To 10: Range("B" & b.Row) = "C" Case 1.000001 To 3: Range("B" & b.Row) = "D" Case 0.300001 To 1: Range("B" & b.Row) = "E" Case 0.100001 To 0.3: Range("B" & b.Row) = "F" Case Is <= 0.1: Range("B" & b.Row) = "G"
End Select Next End Sub
-- Pierre Fauconnier Il n'y a jamais eu un moment dans votre vie qui ne se passait pas "maintenant" et il n'y en aura jamais (Eckart Toll in "Le pouvoir du moment présent")
Pierre Fauconnier
Correction: pour les lignes Case..., la réponse de est bonne et plus simple à utiliser que la mienne, mais attention à l'itération sur worksheets plutôt que sur Sheets
Bon travail
Bonsoir
En ajoutant une itération sur les feuilles du classeur Sub Test() Dim Feuille As Worksheet For Each Feuille In Worksheets for each b in feuile.range("b1:b" & feuille.range(... select case b case 30.000001 to 100: feuille.range("b" & ... ... end select next b next feuille end sub
Attention! Ne pas oublier d'ajouter Feuille devant CHAQUE objet Range
ok?
Sub test() For Each b In Range("b1:b" & Range("b65536").End(xlUp).Row) Select Case b Case 30.000001 To 100: Range("B" & b.Row) = "A" Case 10.000001 To 30: Range("B" & b.Row) = "B" Case 3.000001 To 10: Range("B" & b.Row) = "C" Case 1.000001 To 3: Range("B" & b.Row) = "D" Case 0.300001 To 1: Range("B" & b.Row) = "E" Case 0.100001 To 0.3: Range("B" & b.Row) = "F" Case Is <= 0.1: Range("B" & b.Row) = "G"
End Select Next End Sub
-- Pierre Fauconnier Il n'y a jamais eu un moment dans votre vie qui ne se passait pas "maintenant" et il n'y en aura jamais (Eckart Toll in "Le pouvoir du moment présent")
Correction: pour les lignes Case..., la réponse de J@c est bonne et
plus simple à utiliser que la mienne, mais attention à l'itération sur
worksheets plutôt que sur Sheets
Bon travail
Bonsoir
En ajoutant une itération sur les feuilles du classeur
Sub Test()
Dim Feuille As Worksheet
For Each Feuille In Worksheets
for each b in feuile.range("b1:b" & feuille.range(...
select case b
case 30.000001 to 100: feuille.range("b" & ...
...
end select
next b
next feuille
end sub
Attention! Ne pas oublier d'ajouter Feuille devant CHAQUE objet Range
ok?
Sub test()
For Each b In Range("b1:b" & Range("b65536").End(xlUp).Row)
Select Case b
Case 30.000001 To 100: Range("B" & b.Row) = "A"
Case 10.000001 To 30: Range("B" & b.Row) = "B"
Case 3.000001 To 10: Range("B" & b.Row) = "C"
Case 1.000001 To 3: Range("B" & b.Row) = "D"
Case 0.300001 To 1: Range("B" & b.Row) = "E"
Case 0.100001 To 0.3: Range("B" & b.Row) = "F"
Case Is <= 0.1: Range("B" & b.Row) = "G"
End Select
Next
End Sub
--
Pierre Fauconnier
Il n'y a jamais eu un moment dans votre vie qui ne se passait pas
"maintenant" et il n'y en aura jamais (Eckart Toll in "Le pouvoir du
moment présent")
Correction: pour les lignes Case..., la réponse de est bonne et plus simple à utiliser que la mienne, mais attention à l'itération sur worksheets plutôt que sur Sheets
Bon travail
Bonsoir
En ajoutant une itération sur les feuilles du classeur Sub Test() Dim Feuille As Worksheet For Each Feuille In Worksheets for each b in feuile.range("b1:b" & feuille.range(... select case b case 30.000001 to 100: feuille.range("b" & ... ... end select next b next feuille end sub
Attention! Ne pas oublier d'ajouter Feuille devant CHAQUE objet Range
ok?
Sub test() For Each b In Range("b1:b" & Range("b65536").End(xlUp).Row) Select Case b Case 30.000001 To 100: Range("B" & b.Row) = "A" Case 10.000001 To 30: Range("B" & b.Row) = "B" Case 3.000001 To 10: Range("B" & b.Row) = "C" Case 1.000001 To 3: Range("B" & b.Row) = "D" Case 0.300001 To 1: Range("B" & b.Row) = "E" Case 0.100001 To 0.3: Range("B" & b.Row) = "F" Case Is <= 0.1: Range("B" & b.Row) = "G"
End Select Next End Sub
-- Pierre Fauconnier Il n'y a jamais eu un moment dans votre vie qui ne se passait pas "maintenant" et il n'y en aura jamais (Eckart Toll in "Le pouvoir du moment présent")