Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Simplifier la procédure

4 réponses
Avatar
alain Lebayle
Bonsoir,
J'ai cette procédure qui fonctionne très bien, mais je souhaite la
simplifier.
Comment faire car, je dois avoir au moins 30 fois la boucle
Je vous remercie
Alain

Sub Envoyer_feuille()
Application.ScreenUpdating = False
For Each c In [A2:A1000]
If c = [C2] Then c.Offset(, 1) = CDate(Range("La_date"))
Next c
For Each c In [A2:A1000]
If c = [C2] Then c.Offset(, 2) = Range("Ma_valeur")
Next c
For Each c In [A2:A1000]
If c = [C2] Then c.Offset(, 3) = Range("Ma_valeur2")
Next c
'etc............
End Sub

4 réponses

Avatar
Modeste
Bonsour® alain Lebayle avec ferveur ;o))) vous nous disiez :

J'ai cette procédure qui fonctionne très bien, mais je souhaite la
simplifier.
Comment faire car, je dois avoir au moins 30 fois la boucle



Sub Envoyer_feuille()
Application.ScreenUpdating = False
For Each c In [A2:A1000]
If c = [C2] Then
c.Offset(, 1) = CDate(Range("La_date"))
c.Offset(, 2) = Range("Ma_valeur")
c.Offset(, 3) = Range("Ma_valeur2")
'.........
c.Offset(,30) = range("Ma_valeur30")
End If
Next c
End Sub



--
--
@+
;o)))
Avatar
Jacquouille
Bonsoir Gilbert
Pourrait-on, dans ce cas, faire une colonne avec les valeurs Ma valeur1,
2... (A1:A30) , puis
n=1 to 30
c.Offset(, n) = Range("Ma_valeur"&n) .......?????
Au bon plaisir de te lire


--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"Modeste" a écrit dans le message de news:

Bonsour® alain Lebayle avec ferveur ;o))) vous nous disiez :

J'ai cette procédure qui fonctionne très bien, mais je souhaite la
simplifier.
Comment faire car, je dois avoir au moins 30 fois la boucle



Sub Envoyer_feuille()
Application.ScreenUpdating = False
For Each c In [A2:A1000]
If c = [C2] Then
c.Offset(, 1) = CDate(Range("La_date"))
c.Offset(, 2) = Range("Ma_valeur")
c.Offset(, 3) = Range("Ma_valeur2")
'.........
c.Offset(,30) = range("Ma_valeur30")
End If
Next c
End Sub



--
--
@+
;o)))
Avatar
Fredo P
)):o~ (smiley perso)

Sub Envoyer_feuille()
Application.ScreenUpdating = False
For Each c In [A2:A1000]
If c = [C2] Then
c(1, 2) = "C'est"
c(1, 3) = "Plus"
c(1, 4) = "Court"
'.........
c(1, 30) = "et bon à savoir"
End If
Next c
End Sub
"Modeste" a écrit dans le message de news:

Bonsour® alain Lebayle avec ferveur ;o))) vous nous disiez :

J'ai cette procédure qui fonctionne très bien, mais je souhaite la
simplifier.
Comment faire car, je dois avoir au moins 30 fois la boucle



Sub Envoyer_feuille()
Application.ScreenUpdating = False
For Each c In [A2:A1000]
If c = [C2] Then
c.Offset(, 1) = CDate(Range("La_date"))
c.Offset(, 2) = Range("Ma_valeur")
c.Offset(, 3) = Range("Ma_valeur2")
'.........
c.Offset(,30) = range("Ma_valeur30")
End If
Next c
End Sub



--
--
@+
;o)))
Avatar
alain Lebayle
Un très grand merci
Cela fonctionne impec
TRès bonne journée
Alain

"Fredo P" a écrit dans le
message de news: %
)):o~ (smiley perso)

Sub Envoyer_feuille()
Application.ScreenUpdating = False
For Each c In [A2:A1000]
If c = [C2] Then
c(1, 2) = "C'est"
c(1, 3) = "Plus"
c(1, 4) = "Court"
'.........
c(1, 30) = "et bon à savoir"
End If
Next c
End Sub
"Modeste" a écrit dans le message de news:

Bonsour® alain Lebayle avec ferveur ;o))) vous nous disiez :

J'ai cette procédure qui fonctionne très bien, mais je souhaite la
simplifier.
Comment faire car, je dois avoir au moins 30 fois la boucle



Sub Envoyer_feuille()
Application.ScreenUpdating = False
For Each c In [A2:A1000]
If c = [C2] Then
c.Offset(, 1) = CDate(Range("La_date"))
c.Offset(, 2) = Range("Ma_valeur")
c.Offset(, 3) = Range("Ma_valeur2")
'.........
c.Offset(,30) = range("Ma_valeur30")
End If
Next c
End Sub



--
--
@+
;o)))