Salut à toi
Beaucoup de mal à te suivre !!!!!
Des informations sont contradictoires
Pour les mêmes conditions en colonne H dans un cas (Suppression) il fau t un
"S" dans un autre cas (Modification) il faut un "M"
Pour les conditions :
verifier que le nom du PC existe s'il existe et s'il y a un 1 en A
Cas suppression :
ajout de la lettre S dans la colone H
Cas Modification
mettre un M en H
S ou M ?????
Dans un code pour les mêmes conditions les instructions au résultats
différents seront éxécutées
Seul le dernier sera maintenu
Il en est de même pour la couleur de l'Onglet "MAJ"
Pour les conditions :
Cas Ajout verifier si le nom du PC existe s'il existe dans la feuille
( périmètre ) et s'il ya un 1 en colonne A
Cas Modification verifer que le nom du PC existe dans la feuille ( péri mètre
) et
qu'il y est un 1 en A
les conséquences
sinon
La conséquence pour les 2 cas:
mettre le fond de la
ligne en Rouge dans la feuille ( MAJ ) s'il existe mais sans le 1 en
colonne A
Dur dur !!!!!!
A moins que chaque cas ai son propre code
Dans cette hypothèse ce n'est pas une macro globale mais autant de macr os
que de cas qu'il faut
Tu voubras bien apporter des précisions
Merci
Salut à toi
Beaucoup de mal à te suivre !!!!!
Des informations sont contradictoires
Pour les mêmes conditions en colonne H dans un cas (Suppression) il fau t un
"S" dans un autre cas (Modification) il faut un "M"
Pour les conditions :
verifier que le nom du PC existe s'il existe et s'il y a un 1 en A
Cas suppression :
ajout de la lettre S dans la colone H
Cas Modification
mettre un M en H
S ou M ?????
Dans un code pour les mêmes conditions les instructions au résultats
différents seront éxécutées
Seul le dernier sera maintenu
Il en est de même pour la couleur de l'Onglet "MAJ"
Pour les conditions :
Cas Ajout verifier si le nom du PC existe s'il existe dans la feuille
( périmètre ) et s'il ya un 1 en colonne A
Cas Modification verifer que le nom du PC existe dans la feuille ( péri mètre
) et
qu'il y est un 1 en A
les conséquences
sinon
La conséquence pour les 2 cas:
mettre le fond de la
ligne en Rouge dans la feuille ( MAJ ) s'il existe mais sans le 1 en
colonne A
Dur dur !!!!!!
A moins que chaque cas ai son propre code
Dans cette hypothèse ce n'est pas une macro globale mais autant de macr os
que de cas qu'il faut
Tu voubras bien apporter des précisions
Merci
Salut à toi
Beaucoup de mal à te suivre !!!!!
Des informations sont contradictoires
Pour les mêmes conditions en colonne H dans un cas (Suppression) il fau t un
"S" dans un autre cas (Modification) il faut un "M"
Pour les conditions :
verifier que le nom du PC existe s'il existe et s'il y a un 1 en A
Cas suppression :
ajout de la lettre S dans la colone H
Cas Modification
mettre un M en H
S ou M ?????
Dans un code pour les mêmes conditions les instructions au résultats
différents seront éxécutées
Seul le dernier sera maintenu
Il en est de même pour la couleur de l'Onglet "MAJ"
Pour les conditions :
Cas Ajout verifier si le nom du PC existe s'il existe dans la feuille
( périmètre ) et s'il ya un 1 en colonne A
Cas Modification verifer que le nom du PC existe dans la feuille ( péri mètre
) et
qu'il y est un 1 en A
les conséquences
sinon
La conséquence pour les 2 cas:
mettre le fond de la
ligne en Rouge dans la feuille ( MAJ ) s'il existe mais sans le 1 en
colonne A
Dur dur !!!!!!
A moins que chaque cas ai son propre code
Dans cette hypothèse ce n'est pas une macro globale mais autant de macr os
que de cas qu'il faut
Tu voubras bien apporter des précisions
Merci
Rebonjour Bastien
Veux tu plusieurs codes chacun traitant d'un cas ou un seul code qui trai te
tous les cas
Dans cette 2° hypothèse je ne vois pas comment faire cohabiter ces ca s dans
un même code au conditions identiques et conséquences différentes
Merci donc de m'éclairer
Rebonjour Bastien
Veux tu plusieurs codes chacun traitant d'un cas ou un seul code qui trai te
tous les cas
Dans cette 2° hypothèse je ne vois pas comment faire cohabiter ces ca s dans
un même code au conditions identiques et conséquences différentes
Merci donc de m'éclairer
Rebonjour Bastien
Veux tu plusieurs codes chacun traitant d'un cas ou un seul code qui trai te
tous les cas
Dans cette 2° hypothèse je ne vois pas comment faire cohabiter ces ca s dans
un même code au conditions identiques et conséquences différentes
Merci donc de m'éclairer
Rebonjour Bastien
Je viens enfin de comprendre !!!!!!!!!
un seul code suffit
Pour distinguer les cas il faut prendre en considération le paramètre de la
colonne A
"Type maj" de l'onglet "MAJ"
Grâce à lui les différents cas pourront être distingués et donc cohabiter
dans le même code
Mais ce n'était pas dit dans la chanson !!!!!!!!!!!!!!!
Donc je te propose ce code :
i = 2
Do While i < Sheets("MAJ").Range("B65535").End(xlUp).Offset(1, 0).Row
Ligne = 0
On Error Resume Next
Ligne = Sheets("Périmètre").Range("B1", "B" &
Sheets("Périmètre").Range("B65535").End(xlUp).Row).Find(What:=Sheet s("MAJ").Range("B" & i), After:=Sheets("MAJ").Range("B1"), LookIn:=x lValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirecti on:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Row
If Sheets("MAJ").Range("A" & i) = "A" Then
If Ligne > 1 Then
If Sheets("Périmètre").Range("A" & Ligne) = 1 Then
Sheets("MAJ").Range("A" & i, "H" & i).Interior.ColorIndex = 3
Else
Sheets("Périmètre").Range("A" & Ligne) = 1
Sheets("Périmètre").Range("C" & Ligne, "G" & Ligne).Value =
Sheets("MAJ").Range("C" & i, "G" & i).Value
Sheets("Périmètre").Range("H" & Ligne).Value = "A"
Sheets("Périmètre").Range("A" & Ligne, "H" & Ligne).Font.ColorIndex = 3
End If
Else
Sheets("Périmètre").Range("A" &
Sheets("Périmètre").Range("A65535").End(xlUp).Offset(1, 0).Row) = 1
Sheets("Périmètre").Range("B" &
Sheets("Périmètre").Range("A65535").End(xlUp).Row, "G" &
Sheets("Périmètre").Range("A65535").End(xlUp).Row).Value =
Sheets("MAJ").Range("B" & i, "G" & i).Value
Sheets("Périmètre").Range("I" &
Sheets("Périmètre").Range("A65535").End(xlUp).Row).Value =
Sheets("MAJ").Range("H" & i).Value
Sheets("Périmètre").Range("H" &
Sheets("Périmètre").Range("A65535").End(xlUp).Row).Value = "A"
Sheets("Périmètre").Range("A" &
Sheets("Périmètre").Range("A65535").End(xlUp).Row).Offset(-1,
0).EntireRow.Copy
Sheets("Périmètre").Range("A" &
Sheets("Périmètre").Range("A65535").End(xlUp).Row).PasteSpecial
Paste:=xlPasteFormats
End If
End If
If Sheets("MAJ").Range("A" & i) = "M" Then
If Ligne > 1 Then
If Sheets("Périmètre").Range("A" & Ligne) = 1 Then
Sheets("Périmètre").Range("C" & Ligne, "G" & Ligne).Value =
Sheets("MAJ").Range("C" & i, "G" & i).Value
Sheets("Périmètre").Range("H" & Ligne).Value = "M"
Sheets("Périmètre").Range("I" & Ligne).Value = Sheets("MAJ").Range( "H" &
i).Value
Else
Sheets("MAJ").Range("A" & i, "H" & i).Interior.ColorIndex = 3
End If
Else
Sheets("MAJ").Range("A" & i, "H" & i).Interior.ColorIndex = 3
End If
End If
If Sheets("MAJ").Range("A" & i) = "S" Then
If Ligne > 1 Then
If Sheets("Périmètre").Range("A" & Ligne) = 1 Then
Sheets("Périmètre").Range("A" & Ligne, "I" & Ligne).Font.ColorIndex = 3
Sheets("Périmètre").Range("A" & Ligne).Value = ""
Sheets("Périmètre").Range("H" & Ligne).Value = "S"
Else
Sheets("MAJ").Range("A" & i, "H" & i).Interior.ColorIndex = 3
End If
Else
Sheets("MAJ").Range("A" & i, "H" & i).Interior.ColorIndex = 3
End If
End If
i = i + 1
Loop
Sur ce lien ton document adapté ainsi :
http://www.cijoint.fr/cjlink.php?file=cj200902/cij7L8lslX.xls
Ouvres le et actives onglet "Périmètre" le bouton "Traitement"
Celà semble fonctionner à priori mais compte tenu de la complexité je te
laisse apprécier le résultat et de me dire si des imperfections sont présentes
Donnes moi des nouvelles !!!!!!
Rebonjour Bastien
Je viens enfin de comprendre !!!!!!!!!
un seul code suffit
Pour distinguer les cas il faut prendre en considération le paramètre de la
colonne A
"Type maj" de l'onglet "MAJ"
Grâce à lui les différents cas pourront être distingués et donc cohabiter
dans le même code
Mais ce n'était pas dit dans la chanson !!!!!!!!!!!!!!!
Donc je te propose ce code :
i = 2
Do While i < Sheets("MAJ").Range("B65535").End(xlUp).Offset(1, 0).Row
Ligne = 0
On Error Resume Next
Ligne = Sheets("Périmètre").Range("B1", "B" &
Sheets("Périmètre").Range("B65535").End(xlUp).Row).Find(What:=Sheet s("MAJ").Range("B" & i), After:=Sheets("MAJ").Range("B1"), LookIn:=x lValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirecti on:=xlNext, _
MatchCase:=False, SearchFormat:=False).Row
If Sheets("MAJ").Range("A" & i) = "A" Then
If Ligne > 1 Then
If Sheets("Périmètre").Range("A" & Ligne) = 1 Then
Sheets("MAJ").Range("A" & i, "H" & i).Interior.ColorIndex = 3
Else
Sheets("Périmètre").Range("A" & Ligne) = 1
Sheets("Périmètre").Range("C" & Ligne, "G" & Ligne).Value =
Sheets("MAJ").Range("C" & i, "G" & i).Value
Sheets("Périmètre").Range("H" & Ligne).Value = "A"
Sheets("Périmètre").Range("A" & Ligne, "H" & Ligne).Font.ColorIndex = 3
End If
Else
Sheets("Périmètre").Range("A" &
Sheets("Périmètre").Range("A65535").End(xlUp).Offset(1, 0).Row) = 1
Sheets("Périmètre").Range("B" &
Sheets("Périmètre").Range("A65535").End(xlUp).Row, "G" &
Sheets("Périmètre").Range("A65535").End(xlUp).Row).Value =
Sheets("MAJ").Range("B" & i, "G" & i).Value
Sheets("Périmètre").Range("I" &
Sheets("Périmètre").Range("A65535").End(xlUp).Row).Value =
Sheets("MAJ").Range("H" & i).Value
Sheets("Périmètre").Range("H" &
Sheets("Périmètre").Range("A65535").End(xlUp).Row).Value = "A"
Sheets("Périmètre").Range("A" &
Sheets("Périmètre").Range("A65535").End(xlUp).Row).Offset(-1,
0).EntireRow.Copy
Sheets("Périmètre").Range("A" &
Sheets("Périmètre").Range("A65535").End(xlUp).Row).PasteSpecial
Paste:=xlPasteFormats
End If
End If
If Sheets("MAJ").Range("A" & i) = "M" Then
If Ligne > 1 Then
If Sheets("Périmètre").Range("A" & Ligne) = 1 Then
Sheets("Périmètre").Range("C" & Ligne, "G" & Ligne).Value =
Sheets("MAJ").Range("C" & i, "G" & i).Value
Sheets("Périmètre").Range("H" & Ligne).Value = "M"
Sheets("Périmètre").Range("I" & Ligne).Value = Sheets("MAJ").Range( "H" &
i).Value
Else
Sheets("MAJ").Range("A" & i, "H" & i).Interior.ColorIndex = 3
End If
Else
Sheets("MAJ").Range("A" & i, "H" & i).Interior.ColorIndex = 3
End If
End If
If Sheets("MAJ").Range("A" & i) = "S" Then
If Ligne > 1 Then
If Sheets("Périmètre").Range("A" & Ligne) = 1 Then
Sheets("Périmètre").Range("A" & Ligne, "I" & Ligne).Font.ColorIndex = 3
Sheets("Périmètre").Range("A" & Ligne).Value = ""
Sheets("Périmètre").Range("H" & Ligne).Value = "S"
Else
Sheets("MAJ").Range("A" & i, "H" & i).Interior.ColorIndex = 3
End If
Else
Sheets("MAJ").Range("A" & i, "H" & i).Interior.ColorIndex = 3
End If
End If
i = i + 1
Loop
Sur ce lien ton document adapté ainsi :
http://www.cijoint.fr/cjlink.php?file=cj200902/cij7L8lslX.xls
Ouvres le et actives onglet "Périmètre" le bouton "Traitement"
Celà semble fonctionner à priori mais compte tenu de la complexité je te
laisse apprécier le résultat et de me dire si des imperfections sont présentes
Donnes moi des nouvelles !!!!!!
Rebonjour Bastien
Je viens enfin de comprendre !!!!!!!!!
un seul code suffit
Pour distinguer les cas il faut prendre en considération le paramètre de la
colonne A
"Type maj" de l'onglet "MAJ"
Grâce à lui les différents cas pourront être distingués et donc cohabiter
dans le même code
Mais ce n'était pas dit dans la chanson !!!!!!!!!!!!!!!
Donc je te propose ce code :
i = 2
Do While i < Sheets("MAJ").Range("B65535").End(xlUp).Offset(1, 0).Row
Ligne = 0
On Error Resume Next
Ligne = Sheets("Périmètre").Range("B1", "B" &
Sheets("Périmètre").Range("B65535").End(xlUp).Row).Find(What:=Sheet s("MAJ").Range("B" & i), After:=Sheets("MAJ").Range("B1"), LookIn:=x lValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirecti on:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Row
If Sheets("MAJ").Range("A" & i) = "A" Then
If Ligne > 1 Then
If Sheets("Périmètre").Range("A" & Ligne) = 1 Then
Sheets("MAJ").Range("A" & i, "H" & i).Interior.ColorIndex = 3
Else
Sheets("Périmètre").Range("A" & Ligne) = 1
Sheets("Périmètre").Range("C" & Ligne, "G" & Ligne).Value =
Sheets("MAJ").Range("C" & i, "G" & i).Value
Sheets("Périmètre").Range("H" & Ligne).Value = "A"
Sheets("Périmètre").Range("A" & Ligne, "H" & Ligne).Font.ColorIndex = 3
End If
Else
Sheets("Périmètre").Range("A" &
Sheets("Périmètre").Range("A65535").End(xlUp).Offset(1, 0).Row) = 1
Sheets("Périmètre").Range("B" &
Sheets("Périmètre").Range("A65535").End(xlUp).Row, "G" &
Sheets("Périmètre").Range("A65535").End(xlUp).Row).Value =
Sheets("MAJ").Range("B" & i, "G" & i).Value
Sheets("Périmètre").Range("I" &
Sheets("Périmètre").Range("A65535").End(xlUp).Row).Value =
Sheets("MAJ").Range("H" & i).Value
Sheets("Périmètre").Range("H" &
Sheets("Périmètre").Range("A65535").End(xlUp).Row).Value = "A"
Sheets("Périmètre").Range("A" &
Sheets("Périmètre").Range("A65535").End(xlUp).Row).Offset(-1,
0).EntireRow.Copy
Sheets("Périmètre").Range("A" &
Sheets("Périmètre").Range("A65535").End(xlUp).Row).PasteSpecial
Paste:=xlPasteFormats
End If
End If
If Sheets("MAJ").Range("A" & i) = "M" Then
If Ligne > 1 Then
If Sheets("Périmètre").Range("A" & Ligne) = 1 Then
Sheets("Périmètre").Range("C" & Ligne, "G" & Ligne).Value =
Sheets("MAJ").Range("C" & i, "G" & i).Value
Sheets("Périmètre").Range("H" & Ligne).Value = "M"
Sheets("Périmètre").Range("I" & Ligne).Value = Sheets("MAJ").Range( "H" &
i).Value
Else
Sheets("MAJ").Range("A" & i, "H" & i).Interior.ColorIndex = 3
End If
Else
Sheets("MAJ").Range("A" & i, "H" & i).Interior.ColorIndex = 3
End If
End If
If Sheets("MAJ").Range("A" & i) = "S" Then
If Ligne > 1 Then
If Sheets("Périmètre").Range("A" & Ligne) = 1 Then
Sheets("Périmètre").Range("A" & Ligne, "I" & Ligne).Font.ColorIndex = 3
Sheets("Périmètre").Range("A" & Ligne).Value = ""
Sheets("Périmètre").Range("H" & Ligne).Value = "S"
Else
Sheets("MAJ").Range("A" & i, "H" & i).Interior.ColorIndex = 3
End If
Else
Sheets("MAJ").Range("A" & i, "H" & i).Interior.ColorIndex = 3
End If
End If
i = i + 1
Loop
Sur ce lien ton document adapté ainsi :
http://www.cijoint.fr/cjlink.php?file=cj200902/cij7L8lslX.xls
Ouvres le et actives onglet "Périmètre" le bouton "Traitement"
Celà semble fonctionner à priori mais compte tenu de la complexité je te
laisse apprécier le résultat et de me dire si des imperfections sont présentes
Donnes moi des nouvelles !!!!!!
impressionnant grand merci juste une petite question si je dois
ajouter de nouvelle colonne de data pourrais tu m'expliquer le
fonctionnement ou commenter le code.
franchement grand merci
On 12 fév, 16:20, FFO wrote:
> Rebonjour Bastien
> Je viens enfin de comprendre !!!!!!!!!
> un seul code suffit
> Pour distinguer les cas il faut prendre en considération le paramèt re de la
> colonne A
> "Type maj" de l'onglet "MAJ"
> Grâce à lui les différents cas pourront être distingués et do nc cohabiter
> dans le même code
> Mais ce n'était pas dit dans la chanson !!!!!!!!!!!!!!!
> Donc je te propose ce code :
> i = 2
> Do While i < Sheets("MAJ").Range("B65535").End(xlUp).Offset(1, 0).Row
> Ligne = 0
> On Error Resume Next
> Ligne = Sheets("Périmètre").Range("B1", "B" &
> Sheets("Périmètre").Range("B65535").End(xlUp).Row).Find(What:=She ets("MAJ").Range("B" & i), After:=Sheets("MAJ").Range("B1"), LookIn :=xlValues, _
> LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirec tion:=xlNext, _
> MatchCase:úlse, SearchFormat:úlse).Row
> If Sheets("MAJ").Range("A" & i) = "A" Then
> If Ligne > 1 Then
> If Sheets("Périmètre").Range("A" & Ligne) = 1 Then
> Sheets("MAJ").Range("A" & i, "H" & i).Interior.ColorIndex = 3
> Else
> Sheets("Périmètre").Range("A" & Ligne) = 1
> Sheets("Périmètre").Range("C" & Ligne, "G" & Ligne).Value =
> Sheets("MAJ").Range("C" & i, "G" & i).Value
> Sheets("Périmètre").Range("H" & Ligne).Value = "A"
> Sheets("Périmètre").Range("A" & Ligne, "H" & Ligne).Font.ColorIndex = 3
> End If
> Else
> Sheets("Périmètre").Range("A" &
> Sheets("Périmètre").Range("A65535").End(xlUp).Offset(1, 0).Row) = 1
> Sheets("Périmètre").Range("B" &
> Sheets("Périmètre").Range("A65535").End(xlUp).Row, "G" &
> Sheets("Périmètre").Range("A65535").End(xlUp).Row).Value =
> Sheets("MAJ").Range("B" & i, "G" & i).Value
> Sheets("Périmètre").Range("I" &
> Sheets("Périmètre").Range("A65535").End(xlUp).Row).Value =
> Sheets("MAJ").Range("H" & i).Value
> Sheets("Périmètre").Range("H" &
> Sheets("Périmètre").Range("A65535").End(xlUp).Row).Value = "A"
> Sheets("Périmètre").Range("A" &
> Sheets("Périmètre").Range("A65535").End(xlUp).Row).Offset(-1,
> 0).EntireRow.Copy
> Sheets("Périmètre").Range("A" &
> Sheets("Périmètre").Range("A65535").End(xlUp).Row).PasteSpecial
> Paste:=xlPasteFormats
> End If
> End If
> If Sheets("MAJ").Range("A" & i) = "M" Then
> If Ligne > 1 Then
> If Sheets("Périmètre").Range("A" & Ligne) = 1 Then
> Sheets("Périmètre").Range("C" & Ligne, "G" & Ligne).Value =
> Sheets("MAJ").Range("C" & i, "G" & i).Value
> Sheets("Périmètre").Range("H" & Ligne).Value = "M"
> Sheets("Périmètre").Range("I" & Ligne).Value = Sheets("MAJ").Rang e("H" &
> i).Value
> Else
> Sheets("MAJ").Range("A" & i, "H" & i).Interior.ColorIndex = 3
> End If
> Else
> Sheets("MAJ").Range("A" & i, "H" & i).Interior.ColorIndex = 3
> End If
> End If
> If Sheets("MAJ").Range("A" & i) = "S" Then
> If Ligne > 1 Then
> If Sheets("Périmètre").Range("A" & Ligne) = 1 Then
> Sheets("Périmètre").Range("A" & Ligne, "I" & Ligne).Font.ColorIndex = 3
> Sheets("Périmètre").Range("A" & Ligne).Value = ""
> Sheets("Périmètre").Range("H" & Ligne).Value = "S"
> Else
> Sheets("MAJ").Range("A" & i, "H" & i).Interior.ColorIndex = 3
> End If
> Else
> Sheets("MAJ").Range("A" & i, "H" & i).Interior.ColorIndex = 3
> End If
> End If
> i = i + 1
> Loop
> Sur ce lien ton document adapté ainsi :
>http://www.cijoint.fr/cjlink.php?file=cj200902/cij7L8lslX.xls
> Ouvres le et actives onglet "Périmètre" le bouton "Traitement"
> Celà semble fonctionner à priori mais compte tenu de la complexit é je te
> laisse apprécier le résultat et de me dire si des imperfections son t présentes
> Donnes moi des nouvelles !!!!!!- Masquer le texte des messages préc édents -
- Afficher le texte des messages précédents -
impressionnant grand merci juste une petite question si je dois
ajouter de nouvelle colonne de data pourrais tu m'expliquer le
fonctionnement ou commenter le code.
franchement grand merci
On 12 fév, 16:20, FFO <F...@discussions.microsoft.com> wrote:
> Rebonjour Bastien
> Je viens enfin de comprendre !!!!!!!!!
> un seul code suffit
> Pour distinguer les cas il faut prendre en considération le paramèt re de la
> colonne A
> "Type maj" de l'onglet "MAJ"
> Grâce à lui les différents cas pourront être distingués et do nc cohabiter
> dans le même code
> Mais ce n'était pas dit dans la chanson !!!!!!!!!!!!!!!
> Donc je te propose ce code :
> i = 2
> Do While i < Sheets("MAJ").Range("B65535").End(xlUp).Offset(1, 0).Row
> Ligne = 0
> On Error Resume Next
> Ligne = Sheets("Périmètre").Range("B1", "B" &
> Sheets("Périmètre").Range("B65535").End(xlUp).Row).Find(What:=She ets("MAJ").Range("B" & i), After:=Sheets("MAJ").Range("B1"), LookIn :=xlValues, _
> LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirec tion:=xlNext, _
> MatchCase:=False, SearchFormat:=False).Row
> If Sheets("MAJ").Range("A" & i) = "A" Then
> If Ligne > 1 Then
> If Sheets("Périmètre").Range("A" & Ligne) = 1 Then
> Sheets("MAJ").Range("A" & i, "H" & i).Interior.ColorIndex = 3
> Else
> Sheets("Périmètre").Range("A" & Ligne) = 1
> Sheets("Périmètre").Range("C" & Ligne, "G" & Ligne).Value =
> Sheets("MAJ").Range("C" & i, "G" & i).Value
> Sheets("Périmètre").Range("H" & Ligne).Value = "A"
> Sheets("Périmètre").Range("A" & Ligne, "H" & Ligne).Font.ColorIndex = 3
> End If
> Else
> Sheets("Périmètre").Range("A" &
> Sheets("Périmètre").Range("A65535").End(xlUp).Offset(1, 0).Row) = 1
> Sheets("Périmètre").Range("B" &
> Sheets("Périmètre").Range("A65535").End(xlUp).Row, "G" &
> Sheets("Périmètre").Range("A65535").End(xlUp).Row).Value =
> Sheets("MAJ").Range("B" & i, "G" & i).Value
> Sheets("Périmètre").Range("I" &
> Sheets("Périmètre").Range("A65535").End(xlUp).Row).Value =
> Sheets("MAJ").Range("H" & i).Value
> Sheets("Périmètre").Range("H" &
> Sheets("Périmètre").Range("A65535").End(xlUp).Row).Value = "A"
> Sheets("Périmètre").Range("A" &
> Sheets("Périmètre").Range("A65535").End(xlUp).Row).Offset(-1,
> 0).EntireRow.Copy
> Sheets("Périmètre").Range("A" &
> Sheets("Périmètre").Range("A65535").End(xlUp).Row).PasteSpecial
> Paste:=xlPasteFormats
> End If
> End If
> If Sheets("MAJ").Range("A" & i) = "M" Then
> If Ligne > 1 Then
> If Sheets("Périmètre").Range("A" & Ligne) = 1 Then
> Sheets("Périmètre").Range("C" & Ligne, "G" & Ligne).Value =
> Sheets("MAJ").Range("C" & i, "G" & i).Value
> Sheets("Périmètre").Range("H" & Ligne).Value = "M"
> Sheets("Périmètre").Range("I" & Ligne).Value = Sheets("MAJ").Rang e("H" &
> i).Value
> Else
> Sheets("MAJ").Range("A" & i, "H" & i).Interior.ColorIndex = 3
> End If
> Else
> Sheets("MAJ").Range("A" & i, "H" & i).Interior.ColorIndex = 3
> End If
> End If
> If Sheets("MAJ").Range("A" & i) = "S" Then
> If Ligne > 1 Then
> If Sheets("Périmètre").Range("A" & Ligne) = 1 Then
> Sheets("Périmètre").Range("A" & Ligne, "I" & Ligne).Font.ColorIndex = 3
> Sheets("Périmètre").Range("A" & Ligne).Value = ""
> Sheets("Périmètre").Range("H" & Ligne).Value = "S"
> Else
> Sheets("MAJ").Range("A" & i, "H" & i).Interior.ColorIndex = 3
> End If
> Else
> Sheets("MAJ").Range("A" & i, "H" & i).Interior.ColorIndex = 3
> End If
> End If
> i = i + 1
> Loop
> Sur ce lien ton document adapté ainsi :
>http://www.cijoint.fr/cjlink.php?file=cj200902/cij7L8lslX.xls
> Ouvres le et actives onglet "Périmètre" le bouton "Traitement"
> Celà semble fonctionner à priori mais compte tenu de la complexit é je te
> laisse apprécier le résultat et de me dire si des imperfections son t présentes
> Donnes moi des nouvelles !!!!!!- Masquer le texte des messages préc édents -
- Afficher le texte des messages précédents -
impressionnant grand merci juste une petite question si je dois
ajouter de nouvelle colonne de data pourrais tu m'expliquer le
fonctionnement ou commenter le code.
franchement grand merci
On 12 fév, 16:20, FFO wrote:
> Rebonjour Bastien
> Je viens enfin de comprendre !!!!!!!!!
> un seul code suffit
> Pour distinguer les cas il faut prendre en considération le paramèt re de la
> colonne A
> "Type maj" de l'onglet "MAJ"
> Grâce à lui les différents cas pourront être distingués et do nc cohabiter
> dans le même code
> Mais ce n'était pas dit dans la chanson !!!!!!!!!!!!!!!
> Donc je te propose ce code :
> i = 2
> Do While i < Sheets("MAJ").Range("B65535").End(xlUp).Offset(1, 0).Row
> Ligne = 0
> On Error Resume Next
> Ligne = Sheets("Périmètre").Range("B1", "B" &
> Sheets("Périmètre").Range("B65535").End(xlUp).Row).Find(What:=She ets("MAJ").Range("B" & i), After:=Sheets("MAJ").Range("B1"), LookIn :=xlValues, _
> LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirec tion:=xlNext, _
> MatchCase:úlse, SearchFormat:úlse).Row
> If Sheets("MAJ").Range("A" & i) = "A" Then
> If Ligne > 1 Then
> If Sheets("Périmètre").Range("A" & Ligne) = 1 Then
> Sheets("MAJ").Range("A" & i, "H" & i).Interior.ColorIndex = 3
> Else
> Sheets("Périmètre").Range("A" & Ligne) = 1
> Sheets("Périmètre").Range("C" & Ligne, "G" & Ligne).Value =
> Sheets("MAJ").Range("C" & i, "G" & i).Value
> Sheets("Périmètre").Range("H" & Ligne).Value = "A"
> Sheets("Périmètre").Range("A" & Ligne, "H" & Ligne).Font.ColorIndex = 3
> End If
> Else
> Sheets("Périmètre").Range("A" &
> Sheets("Périmètre").Range("A65535").End(xlUp).Offset(1, 0).Row) = 1
> Sheets("Périmètre").Range("B" &
> Sheets("Périmètre").Range("A65535").End(xlUp).Row, "G" &
> Sheets("Périmètre").Range("A65535").End(xlUp).Row).Value =
> Sheets("MAJ").Range("B" & i, "G" & i).Value
> Sheets("Périmètre").Range("I" &
> Sheets("Périmètre").Range("A65535").End(xlUp).Row).Value =
> Sheets("MAJ").Range("H" & i).Value
> Sheets("Périmètre").Range("H" &
> Sheets("Périmètre").Range("A65535").End(xlUp).Row).Value = "A"
> Sheets("Périmètre").Range("A" &
> Sheets("Périmètre").Range("A65535").End(xlUp).Row).Offset(-1,
> 0).EntireRow.Copy
> Sheets("Périmètre").Range("A" &
> Sheets("Périmètre").Range("A65535").End(xlUp).Row).PasteSpecial
> Paste:=xlPasteFormats
> End If
> End If
> If Sheets("MAJ").Range("A" & i) = "M" Then
> If Ligne > 1 Then
> If Sheets("Périmètre").Range("A" & Ligne) = 1 Then
> Sheets("Périmètre").Range("C" & Ligne, "G" & Ligne).Value =
> Sheets("MAJ").Range("C" & i, "G" & i).Value
> Sheets("Périmètre").Range("H" & Ligne).Value = "M"
> Sheets("Périmètre").Range("I" & Ligne).Value = Sheets("MAJ").Rang e("H" &
> i).Value
> Else
> Sheets("MAJ").Range("A" & i, "H" & i).Interior.ColorIndex = 3
> End If
> Else
> Sheets("MAJ").Range("A" & i, "H" & i).Interior.ColorIndex = 3
> End If
> End If
> If Sheets("MAJ").Range("A" & i) = "S" Then
> If Ligne > 1 Then
> If Sheets("Périmètre").Range("A" & Ligne) = 1 Then
> Sheets("Périmètre").Range("A" & Ligne, "I" & Ligne).Font.ColorIndex = 3
> Sheets("Périmètre").Range("A" & Ligne).Value = ""
> Sheets("Périmètre").Range("H" & Ligne).Value = "S"
> Else
> Sheets("MAJ").Range("A" & i, "H" & i).Interior.ColorIndex = 3
> End If
> Else
> Sheets("MAJ").Range("A" & i, "H" & i).Interior.ColorIndex = 3
> End If
> End If
> i = i + 1
> Loop
> Sur ce lien ton document adapté ainsi :
>http://www.cijoint.fr/cjlink.php?file=cj200902/cij7L8lslX.xls
> Ouvres le et actives onglet "Périmètre" le bouton "Traitement"
> Celà semble fonctionner à priori mais compte tenu de la complexit é je te
> laisse apprécier le résultat et de me dire si des imperfections son t présentes
> Donnes moi des nouvelles !!!!!!- Masquer le texte des messages préc édents -
- Afficher le texte des messages précédents -