Exemple en A1: j'ai rien ou 0 affiché. la macro écrit
en A1 j'ai 1000 affiché, il faudrait que la macro écrive en A2 pour ne
pas
effacer A1 !
Il faudrait plus de détail sur ta macro car le test est facile à faire sur
Exemple en A1: j'ai rien ou 0 affiché. la macro écrit
en A1 j'ai 1000 affiché, il faudrait que la macro écrive en A2 pour ne
pas
effacer A1 !
Il faudrait plus de détail sur ta macro car le test est facile à faire sur
Exemple en A1: j'ai rien ou 0 affiché. la macro écrit
en A1 j'ai 1000 affiché, il faudrait que la macro écrive en A2 pour ne
pas
effacer A1 !
Il faudrait plus de détail sur ta macro car le test est facile à faire sur
Salut @ Tous,
ELDER a écrit:Exemple en A1: j'ai rien ou 0 affiché. la macro écrit
en A1 j'ai 1000 affiché, il faudrait que la macro écrive en A2 pour ne
paseffacer A1 !
Il faudrait plus de détail sur ta macro car le test est facile à faire sur
A1 mais le traitement dépend de toutes les cellules utilisées ensuite.
Si tu utilise seulement A1 dans ta macro, remplace dans ta macro tous les
Range("A1") par Cel: exemple Range("A1") = Range("A32") par Cel > Range("A32")
le test:
Dim Cel As Range
If [A1] = 0 Or [A1] = "" Then
Set Cel = [A1]
Else
Set Cel = [A2]
End If
'LaMacro
Set Cel = Nothing
--
@+
Thierry
Salut @ Tous,
ELDER a écrit:
Exemple en A1: j'ai rien ou 0 affiché. la macro écrit
en A1 j'ai 1000 affiché, il faudrait que la macro écrive en A2 pour ne
pas
effacer A1 !
Il faudrait plus de détail sur ta macro car le test est facile à faire sur
A1 mais le traitement dépend de toutes les cellules utilisées ensuite.
Si tu utilise seulement A1 dans ta macro, remplace dans ta macro tous les
Range("A1") par Cel: exemple Range("A1") = Range("A32") par Cel > Range("A32")
le test:
Dim Cel As Range
If [A1] = 0 Or [A1] = "" Then
Set Cel = [A1]
Else
Set Cel = [A2]
End If
'LaMacro
Set Cel = Nothing
--
@+
Thierry
Salut @ Tous,
ELDER a écrit:Exemple en A1: j'ai rien ou 0 affiché. la macro écrit
en A1 j'ai 1000 affiché, il faudrait que la macro écrive en A2 pour ne
paseffacer A1 !
Il faudrait plus de détail sur ta macro car le test est facile à faire sur
A1 mais le traitement dépend de toutes les cellules utilisées ensuite.
Si tu utilise seulement A1 dans ta macro, remplace dans ta macro tous les
Range("A1") par Cel: exemple Range("A1") = Range("A32") par Cel > Range("A32")
le test:
Dim Cel As Range
If [A1] = 0 Or [A1] = "" Then
Set Cel = [A1]
Else
Set Cel = [A2]
End If
'LaMacro
Set Cel = Nothing
--
@+
Thierry
Pour faire simple j'ai fais un peu compliqué je t'ai mis la partie de la
macro qui s'occupe du report pour que tu vois le problème. Juste pour la
première cellule, la macro ( que j'ai enregistré avec l'enregistreur )
selectionne C32, copy en mémoire et reporte sur C32. Le but est de tester
avant d'écrire en C32 s'il n'y a pas déja un chiffre. S'il y a déjà un
chiffre il faut écrire en C33 pour ne pas écraser C32.
Pour faire simple j'ai fais un peu compliqué je t'ai mis la partie de la
macro qui s'occupe du report pour que tu vois le problème. Juste pour la
première cellule, la macro ( que j'ai enregistré avec l'enregistreur )
selectionne C32, copy en mémoire et reporte sur C32. Le but est de tester
avant d'écrire en C32 s'il n'y a pas déja un chiffre. S'il y a déjà un
chiffre il faut écrire en C33 pour ne pas écraser C32.
Pour faire simple j'ai fais un peu compliqué je t'ai mis la partie de la
macro qui s'occupe du report pour que tu vois le problème. Juste pour la
première cellule, la macro ( que j'ai enregistré avec l'enregistreur )
selectionne C32, copy en mémoire et reporte sur C32. Le but est de tester
avant d'écrire en C32 s'il n'y a pas déja un chiffre. S'il y a déjà un
chiffre il faut écrire en C33 pour ne pas écraser C32.
Pour faire simple j'ai fais un peu compliqué je t'ai mis la partie de la
macro qui s'occupe du report pour que tu vois le problème. Juste pour la
première cellule, la macro ( que j'ai enregistré avec l'enregistreur )
Pour faire simple j'ai fais un peu compliqué je t'ai mis la partie de la
macro qui s'occupe du report pour que tu vois le problème. Juste pour la
première cellule, la macro ( que j'ai enregistré avec l'enregistreur )
Pour faire simple j'ai fais un peu compliqué je t'ai mis la partie de la
macro qui s'occupe du report pour que tu vois le problème. Juste pour la
première cellule, la macro ( que j'ai enregistré avec l'enregistreur )
Salut @ Tous,
ELDER a écrit:Pour faire simple j'ai fais un peu compliqué je t'ai mis la partie de la
macro qui s'occupe du report pour que tu vois le problème. Juste pour la
première cellule, la macro ( que j'ai enregistré avec l'enregistreur )
selectionne C32, copy en mémoire et reporte sur C32. Le but est de
tester
avant d'écrire en C32 s'il n'y a pas déja un chiffre. S'il y a déjà un
chiffre il faut écrire en C33 pour ne pas écraser C32.
Si j'ai bien compris tu dois tester seulement si C31 est vide ou =0 sinon
il faut copier toutes les cellules comme tu l'as fait avant de faire le
traitement d'une autre macro?
--
@+
Thierry
Salut @ Tous,
ELDER a écrit:
Pour faire simple j'ai fais un peu compliqué je t'ai mis la partie de la
macro qui s'occupe du report pour que tu vois le problème. Juste pour la
première cellule, la macro ( que j'ai enregistré avec l'enregistreur )
selectionne C32, copy en mémoire et reporte sur C32. Le but est de
tester
avant d'écrire en C32 s'il n'y a pas déja un chiffre. S'il y a déjà un
chiffre il faut écrire en C33 pour ne pas écraser C32.
Si j'ai bien compris tu dois tester seulement si C31 est vide ou =0 sinon
il faut copier toutes les cellules comme tu l'as fait avant de faire le
traitement d'une autre macro?
--
@+
Thierry
Salut @ Tous,
ELDER a écrit:Pour faire simple j'ai fais un peu compliqué je t'ai mis la partie de la
macro qui s'occupe du report pour que tu vois le problème. Juste pour la
première cellule, la macro ( que j'ai enregistré avec l'enregistreur )
selectionne C32, copy en mémoire et reporte sur C32. Le but est de
tester
avant d'écrire en C32 s'il n'y a pas déja un chiffre. S'il y a déjà un
chiffre il faut écrire en C33 pour ne pas écraser C32.
Si j'ai bien compris tu dois tester seulement si C31 est vide ou =0 sinon
il faut copier toutes les cellules comme tu l'as fait avant de faire le
traitement d'une autre macro?
--
@+
Thierry
la solution en essayant de t'expliquer !!!) lancer macro1 ----> test
cellule
C31 ---------> si pas vide lancer macro 2------> test C32 ----> si C32
vide
ok sinon lancer macro 3 et dernier test sur C33 et là si C33 pas vide
message " vous ne pouvez plus faire report"
la solution en essayant de t'expliquer !!!) lancer macro1 ----> test
cellule
C31 ---------> si pas vide lancer macro 2------> test C32 ----> si C32
vide
ok sinon lancer macro 3 et dernier test sur C33 et là si C33 pas vide
message " vous ne pouvez plus faire report"
la solution en essayant de t'expliquer !!!) lancer macro1 ----> test
cellule
C31 ---------> si pas vide lancer macro 2------> test C32 ----> si C32
vide
ok sinon lancer macro 3 et dernier test sur C33 et là si C33 pas vide
message " vous ne pouvez plus faire report"
message " vous ne pouvez plus faire report"
message " vous ne pouvez plus faire report"
message " vous ne pouvez plus faire report"
Salut @ Tous, ELDER a écrit:Pour faire simple j'ai fais un peu compliqué je t'ai mis la partie de la
macro qui s'occupe du report pour que tu vois le problème. Juste pour la
première cellule, la macro ( que j'ai enregistré avec l'enregistreur )
Bon j'ai fait comme si j'avais compris
donc on test la cellule C31 si elle n'est pas vide ou =0 on recopie les
cellules et ensuite tu inseres ta macro de remplissage à la fin
bien vérifié qu'il n'y à pas de gourrage dans les offsets!!!
Sub Test2()
If [C31] <> 0 And [C31] <> "" Then
Set Cel = [C31]
For i = 0 To 4
Cel.Offset(1, i) = Cel.Offset(0, i)
Next
Cel.Offset(11, 0) = Cel.Offset(8, 0)
Cel.Offset(11, 1) = Cel.Offset(8, 1)
Cel.Offset(11, 3) = Cel.Offset(8, 3)
For i = 93 To 111 Step 9
For j = -1 To 2
Cel.Offset(i + 1, j) = Cel.Offset(i, j)
Next j
Cel.Offset(i + 1, 4) = Cel.Offset(i, 4)
Next i
End If
'Ta macro
End Sub
--
@+
Thierry
Salut @ Tous, ELDER a écrit:
Pour faire simple j'ai fais un peu compliqué je t'ai mis la partie de la
macro qui s'occupe du report pour que tu vois le problème. Juste pour la
première cellule, la macro ( que j'ai enregistré avec l'enregistreur )
Bon j'ai fait comme si j'avais compris
donc on test la cellule C31 si elle n'est pas vide ou =0 on recopie les
cellules et ensuite tu inseres ta macro de remplissage à la fin
bien vérifié qu'il n'y à pas de gourrage dans les offsets!!!
Sub Test2()
If [C31] <> 0 And [C31] <> "" Then
Set Cel = [C31]
For i = 0 To 4
Cel.Offset(1, i) = Cel.Offset(0, i)
Next
Cel.Offset(11, 0) = Cel.Offset(8, 0)
Cel.Offset(11, 1) = Cel.Offset(8, 1)
Cel.Offset(11, 3) = Cel.Offset(8, 3)
For i = 93 To 111 Step 9
For j = -1 To 2
Cel.Offset(i + 1, j) = Cel.Offset(i, j)
Next j
Cel.Offset(i + 1, 4) = Cel.Offset(i, 4)
Next i
End If
'Ta macro
End Sub
--
@+
Thierry
Salut @ Tous, ELDER a écrit:Pour faire simple j'ai fais un peu compliqué je t'ai mis la partie de la
macro qui s'occupe du report pour que tu vois le problème. Juste pour la
première cellule, la macro ( que j'ai enregistré avec l'enregistreur )
Bon j'ai fait comme si j'avais compris
donc on test la cellule C31 si elle n'est pas vide ou =0 on recopie les
cellules et ensuite tu inseres ta macro de remplissage à la fin
bien vérifié qu'il n'y à pas de gourrage dans les offsets!!!
Sub Test2()
If [C31] <> 0 And [C31] <> "" Then
Set Cel = [C31]
For i = 0 To 4
Cel.Offset(1, i) = Cel.Offset(0, i)
Next
Cel.Offset(11, 0) = Cel.Offset(8, 0)
Cel.Offset(11, 1) = Cel.Offset(8, 1)
Cel.Offset(11, 3) = Cel.Offset(8, 3)
For i = 93 To 111 Step 9
For j = -1 To 2
Cel.Offset(i + 1, j) = Cel.Offset(i, j)
Next j
Cel.Offset(i + 1, 4) = Cel.Offset(i, 4)
Next i
End If
'Ta macro
End Sub
--
@+
Thierry
Je pense que c'est le mieux, comme ça j'ai qu'une macro ( certe plus
longue ) mis qui teste avant d'écrire
Je pense que c'est le mieux, comme ça j'ai qu'une macro ( certe plus
longue ) mis qui teste avant d'écrire
Je pense que c'est le mieux, comme ça j'ai qu'une macro ( certe plus
longue ) mis qui teste avant d'écrire
Salut @ Tous,
ELDER a écrit:Je pense que c'est le mieux, comme ça j'ai qu'une macro ( certe plus
longue ) mis qui teste avant d'écrire
Correction
Sub Test2()
If [C31] <> 0 And [C31] <> "" Then
If [C32] <> 0 And [C32] <> "" Then
If [C33] <> 0 And [C33] <> "" Then
MsgBox "Plus de report possible"
End If
Set Cel = [C32]
For i = 0 To 4
Cel.Offset(1, i) = Cel.Offset(0, i)
Next
Cel.Offset(13, 0) = Cel.Offset(10, 0)
Cel.Offset(13, 1) = Cel.Offset(10, 1)
Cel.Offset(13, 3) = Cel.Offset(10, 3)
For i = 93 To 111 Step 9
For j = -1 To 2
Cel.Offset(i + 1, j) = Cel.Offset(i, j)
Next j
Cel.Offset(i + 1, 4) = Cel.Offset(i, 4)
Next i
End If
Set Cel = [C31]
For i = 0 To 4
Cel.Offset(1, i) = Cel.Offset(0, i)
Next
Cel.Offset(11, 0) = Cel.Offset(8, 0)
Cel.Offset(11, 1) = Cel.Offset(8, 1)
Cel.Offset(11, 3) = Cel.Offset(8, 3)
For i = 93 To 111 Step 9
For j = -1 To 2
Cel.Offset(i + 1, j) = Cel.Offset(i, j)
Next j
Cel.Offset(i + 1, 4) = Cel.Offset(i, 4)
Next i
End If
'Ta macro de remplissage
End Sub
est ce que ça vas
--
@+
Thierry
Salut @ Tous,
ELDER a écrit:
Je pense que c'est le mieux, comme ça j'ai qu'une macro ( certe plus
longue ) mis qui teste avant d'écrire
Correction
Sub Test2()
If [C31] <> 0 And [C31] <> "" Then
If [C32] <> 0 And [C32] <> "" Then
If [C33] <> 0 And [C33] <> "" Then
MsgBox "Plus de report possible"
End If
Set Cel = [C32]
For i = 0 To 4
Cel.Offset(1, i) = Cel.Offset(0, i)
Next
Cel.Offset(13, 0) = Cel.Offset(10, 0)
Cel.Offset(13, 1) = Cel.Offset(10, 1)
Cel.Offset(13, 3) = Cel.Offset(10, 3)
For i = 93 To 111 Step 9
For j = -1 To 2
Cel.Offset(i + 1, j) = Cel.Offset(i, j)
Next j
Cel.Offset(i + 1, 4) = Cel.Offset(i, 4)
Next i
End If
Set Cel = [C31]
For i = 0 To 4
Cel.Offset(1, i) = Cel.Offset(0, i)
Next
Cel.Offset(11, 0) = Cel.Offset(8, 0)
Cel.Offset(11, 1) = Cel.Offset(8, 1)
Cel.Offset(11, 3) = Cel.Offset(8, 3)
For i = 93 To 111 Step 9
For j = -1 To 2
Cel.Offset(i + 1, j) = Cel.Offset(i, j)
Next j
Cel.Offset(i + 1, 4) = Cel.Offset(i, 4)
Next i
End If
'Ta macro de remplissage
End Sub
est ce que ça vas
--
@+
Thierry
Salut @ Tous,
ELDER a écrit:Je pense que c'est le mieux, comme ça j'ai qu'une macro ( certe plus
longue ) mis qui teste avant d'écrire
Correction
Sub Test2()
If [C31] <> 0 And [C31] <> "" Then
If [C32] <> 0 And [C32] <> "" Then
If [C33] <> 0 And [C33] <> "" Then
MsgBox "Plus de report possible"
End If
Set Cel = [C32]
For i = 0 To 4
Cel.Offset(1, i) = Cel.Offset(0, i)
Next
Cel.Offset(13, 0) = Cel.Offset(10, 0)
Cel.Offset(13, 1) = Cel.Offset(10, 1)
Cel.Offset(13, 3) = Cel.Offset(10, 3)
For i = 93 To 111 Step 9
For j = -1 To 2
Cel.Offset(i + 1, j) = Cel.Offset(i, j)
Next j
Cel.Offset(i + 1, 4) = Cel.Offset(i, 4)
Next i
End If
Set Cel = [C31]
For i = 0 To 4
Cel.Offset(1, i) = Cel.Offset(0, i)
Next
Cel.Offset(11, 0) = Cel.Offset(8, 0)
Cel.Offset(11, 1) = Cel.Offset(8, 1)
Cel.Offset(11, 3) = Cel.Offset(8, 3)
For i = 93 To 111 Step 9
For j = -1 To 2
Cel.Offset(i + 1, j) = Cel.Offset(i, j)
Next j
Cel.Offset(i + 1, 4) = Cel.Offset(i, 4)
Next i
End If
'Ta macro de remplissage
End Sub
est ce que ça vas
--
@+
Thierry