OVH Cloud OVH Cloud

Automatisation pour les colonnes

4 réponses
Avatar
If
Bonsoir,

J'ai un code ci dessous qui fonctionne mais qui risque d'être long vu le
nombre de valeur à vérifier.
Les cellules se trouvant en A sont vérifiées, et si la valeur en A est
comprise entre 800 et 899, la procédure suivante est lancée.

Les cellules C jusque J sont alors vérifiées quand à la présence de la
valeur 830.
Si cette valeur est présente, la cellule est modifiée en 0830 - 1400.

Ma question :
Tout comme la procédure qui me permet de vérifier de manière automatique les
cellules se trouvant en A, est-il possible de vérifier automatique les
cellules C jusque J sans devoir placer chaque fois le même code pour chaque
cellule ?

Je dois faire cela pour des valeurs allant de 830 à 1010 (ce sont des
heures)

Merci de votre aide.


Sub TestMe ()
Dim i As Long
For i = 2 To 122 Step 1
If Cells(i, 1).Value >= 800 And Cells(i, 1).Value <= 899 Then
If Cells(i, 3).Value = 830 Then
Cells(i, 3).Value = 830 & " - " & 1400
End If
'.......... La procédure continue pour chaque cellule ici
End If
Next i

End Sub

4 réponses

Avatar
isabelle
bonsoir If,

est ce que cette modification convient ?

Sub TestMe()
Dim i As Long
For i = 2 To 122 Step 1
If Cells(i, 1).Value >= 800 And Cells(i, 1).Value <= 899 Then

For x = 3 To 10
If Cells(i, x).Value = 830 Then Cells(i, 3).Value = 830 & " - " & 1 400
Next x

Next i
End Sub

isabelle


Bonsoir,

J'ai un code ci dessous qui fonctionne mais qui risque d'être long vu le
nombre de valeur à vérifier.
Les cellules se trouvant en A sont vérifiées, et si la valeur en A est
comprise entre 800 et 899, la procédure suivante est lancée.

Les cellules C jusque J sont alors vérifiées quand à la présenc e de la
valeur 830.
Si cette valeur est présente, la cellule est modifiée en 0830 - 140 0.

Ma question :
Tout comme la procédure qui me permet de vérifier de manière auto matique les
cellules se trouvant en A, est-il possible de vérifier automatique le s
cellules C jusque J sans devoir placer chaque fois le même code pour chaque
cellule ?

Je dois faire cela pour des valeurs allant de 830 à 1010 (ce sont des
heures)

Merci de votre aide.

Sub TestMe ()
Dim i As Long
For i = 2 To 122 Step 1
If Cells(i, 1).Value >= 800 And Cells(i, 1).Value <= 899 Then
If Cells(i, 3).Value = 830 Then
Cells(i, 3).Value = 830 & " - " & 1400
End If
'.......... La procédure continue pour chaque cellule ici
End If
Next i

End Sub


Avatar
Daniel.M
Salut Yves,

Comme ça:

Sub TestMe()
Dim i As Long, j As Integer
For i = 2 To 122
If Cells(i, 1).Value >= 800 And Cells(i, 1).Value <= 899 Then
For j = 3 To 10
If Cells(i, j).Value = 830 Then
Cells(i, j).Value = 830 & " - " & 1400
End If
Next j
End If
Next i

End Sub

Salutations,

Daniel M.

"If" wrote in message
news:
Bonsoir,

J'ai un code ci dessous qui fonctionne mais qui risque d'être long vu le
nombre de valeur à vérifier.
Les cellules se trouvant en A sont vérifiées, et si la valeur en A est
comprise entre 800 et 899, la procédure suivante est lancée.

Les cellules C jusque J sont alors vérifiées quand à la présence de la
valeur 830.
Si cette valeur est présente, la cellule est modifiée en 0830 - 1400.

Ma question :
Tout comme la procédure qui me permet de vérifier de manière automatique
les

cellules se trouvant en A, est-il possible de vérifier automatique les
cellules C jusque J sans devoir placer chaque fois le même code pour
chaque

cellule ?

Je dois faire cela pour des valeurs allant de 830 à 1010 (ce sont des
heures)

Merci de votre aide.


Sub TestMe ()
Dim i As Long
For i = 2 To 122 Step 1
If Cells(i, 1).Value >= 800 And Cells(i, 1).Value <= 899 Then
If Cells(i, 3).Value = 830 Then
Cells(i, 3).Value = 830 & " - " & 1400
End If
'.......... La procédure continue pour chaque cellule ici
End If
Next i

End Sub




Avatar
AV
Une alternative sans boucler
Le gain de rapidité ne sera pas très visible sur ton exemple (122 lignes) mais
serait important sur une grande plage à parcourir

Sub zz_Filtr()
Application.ScreenUpdating = False
With [A1:A122]
.AutoFilter Field:=1, Criteria1:=">€0", Operator:=xlAnd,
Criteria2:="<‰9"
If .SpecialCells(xlCellTypeVisible).Count = 1 Then .AutoFilter: Exit
Sub
[C2:J122].SpecialCells(xlCellTypeConstants,
23).SpecialCells(xlCellTypeVisible). _
Replace What:="830", Replacement:="0830 - 1400"
.AutoFilter
End With
End Sub

AV

"If" a écrit dans le message news:

Bonsoir,

J'ai un code ci dessous qui fonctionne mais qui risque d'être long vu le
nombre de valeur à vérifier.
Les cellules se trouvant en A sont vérifiées, et si la valeur en A est
comprise entre 800 et 899, la procédure suivante est lancée.

Les cellules C jusque J sont alors vérifiées quand à la présence de la
valeur 830.
Si cette valeur est présente, la cellule est modifiée en 0830 - 1400.

Ma question :
Tout comme la procédure qui me permet de vérifier de manière automatique les
cellules se trouvant en A, est-il possible de vérifier automatique les
cellules C jusque J sans devoir placer chaque fois le même code pour chaque
cellule ?

Je dois faire cela pour des valeurs allant de 830 à 1010 (ce sont des
heures)

Merci de votre aide.


Sub TestMe ()
Dim i As Long
For i = 2 To 122 Step 1
If Cells(i, 1).Value >= 800 And Cells(i, 1).Value <= 899 Then
If Cells(i, 3).Value = 830 Then
Cells(i, 3).Value = 830 & " - " & 1400
End If
'.......... La procédure continue pour chaque cellule ici
End If
Next i

End Sub




Avatar
If
Merci à vous trois pour vos pistes.

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"If" a écrit dans le message de
news:
Bonsoir,

J'ai un code ci dessous qui fonctionne mais qui risque d'être long vu le
nombre de valeur à vérifier.
Les cellules se trouvant en A sont vérifiées, et si la valeur en A est
comprise entre 800 et 899, la procédure suivante est lancée.

Les cellules C jusque J sont alors vérifiées quand à la présence de la
valeur 830.
Si cette valeur est présente, la cellule est modifiée en 0830 - 1400.

Ma question :
Tout comme la procédure qui me permet de vérifier de manière automatique
les

cellules se trouvant en A, est-il possible de vérifier automatique les
cellules C jusque J sans devoir placer chaque fois le même code pour
chaque

cellule ?

Je dois faire cela pour des valeurs allant de 830 à 1010 (ce sont des
heures)

Merci de votre aide.


Sub TestMe ()
Dim i As Long
For i = 2 To 122 Step 1
If Cells(i, 1).Value >= 800 And Cells(i, 1).Value <= 899 Then
If Cells(i, 3).Value = 830 Then
Cells(i, 3).Value = 830 & " - " & 1400
End If
'.......... La procédure continue pour chaque cellule ici
End If
Next i

End Sub