Option Explicit
Option Base 0
Sub Secteur()
'Variable pour la distribution
Dim a 'les différents voyages distri qui vont être testés
'Dim Stock(10) 'tableau stockant les voy non référencés
Dim Plage_Distri As Range 'plage stockant les données des secteurs distri
Dim Plage_Voy_Distri As Range 'plage contenant la liste des voy analysés
Dim Plage_Recherche As Range 'case résultat en cas de correspondance entre 2 voy.
Dim i As Integer 'compteur de voy non référencés
'Variable pour l'expédition
Dim b 'les différents voyages expé qui vont être testés
Dim j 'le compteur du nombre de voyages expé non référencés
Dim Plage_Expe As Range 'plage stockant la liste des voy a dispatcher
Dim Plage_Voy_Expe As Range 'plage contenant la liste des voy analysés
Dim Plage_Recherche_Ex As Range 'case résultat en cas de correspondance entre 2 voy.
i = 0
With ActiveWorkbook.Sheets("Analyse")
[b].Range("C10:C28,G10:G28,K10:K28,O10:O28,S10:S28,W10:W28,AA10:AA28,AE10:AE28,C36:C51,G36:G51,K36:K51,O36:O51,S36:S51,W36:W51,AA36:AA51,AE36:AE51").Select[/b]
'Nettoyage de toutes les cellules
Selection.ClearContents
End With
With Sheets("Analyse")
.Activate
.Range("C10:C28,G10:G28,K10:K28,O10:O28,S10:S28,W10:W28,AA10:AA28,AE10:AE28,C36:C51,G36:G51,K36:K51,O36:O51,S36:S51,W36:W51,AA36:AA51,AE36:AE51").Select
Selection.ClearContents
End With
With Sheets("Analyse")
.Range("C10:C28,G10:G28,K10:K28,O10:O28,S10:S28,W10:W28,AA10:AA28,AE10:AE28,C36:C51,G36:G51,K36:K51,O36:O51,S36:S51,W36:W51,AA36:AA51,AE36:AE51").ClearContents
End With
.Range("C10:C28,G10:G28,K10:K28,O10:O28,S10:S28,W10:W28,AA10:AA28,AE10:AE28,C36:C51,G36:G51,K36:K51,O36:O51,S36:S51,W36:W51,AA36:AA51,AE36:AE51").ClearContents
Option Explicit
Option Base 0
Sub Secteur()
'Variable pour la distribution
Dim a 'les différents voyages distri qui vont être testés
'Dim Stock(10) 'tableau stockant les voy non référencés
Dim Plage_Distri As Range 'plage stockant les données des secteurs distri
Dim Plage_Voy_Distri As Range 'plage contenant la liste des voy analysés
Dim Plage_Recherche As Range 'case résultat en cas de correspondance entre 2 voy.
Dim i As Integer 'compteur de voy non référencés
'Variable pour l'expédition
Dim b 'les différents voyages expé qui vont être testés
Dim j 'le compteur du nombre de voyages expé non référencés
Dim Plage_Expe As Range 'plage stockant la liste des voy a dispatcher
Dim Plage_Voy_Expe As Range 'plage contenant la liste des voy analysés
Dim Plage_Recherche_Ex As Range 'case résultat en cas de correspondance entre 2 voy.
i = 0
With ActiveWorkbook.Sheets("Analyse")
.Range("C10:C28,G10:G28,K10:K28,O10:O28,S10:S28,W10:W28,AA10:AA28,AE10:AE28,C36:C51,G36:G51,K36:K51,O36:O51,S36:S51,W36:W51,AA36:AA51,AE36:AE51").ClearContents
End With
'Traitement de la distribution
With Sheets("Distribution")
'Définition de la plage contenant le nom des voyages
Set Plage_Voy_Distri = .Range("B9:B100")
End With
'On se place dans l'onglet Analyse
With Sheets("Analyse")
'plage d'import des tonnages distribution
Set Plage_Distri = .Range("A10:AE51")
End With
'pour chaque voyage non nul dans la table des codes voyages
For Each a In Plage_Voy_Distri
'Si la cellule à gauche "-1" est non nulle alors
If a.Value <> 0 Then
'rechercher dans la plage de distri un voyage correspondant à a.Value
Set Plage_Recherche = Plage_Distri.Find(What:=a.Value, LookIn:=xlValues, lookat:=xlPart)
'si aucun voyage trouvé on incrément le compteur distri
If Plage_Recherche Is Nothing Then
'Stock(i) = "a.Value" 'stockage du voyage distri non référencé
i = i + 1 'incrémentation de la variable
Else
'sinon on se place 2 cases après le voyage la valeur du tonnage
Plage_Recherche.Offset(0, 2).Value = Plage_Recherche.Offset(0, 2).Value + a.Offset(0, 1).Value
End If
End If
Next
'on affiche un message contenant le nombre de voyages non trouvés
MsgBox i & " Voyages de distribution non pas réussis à être placé dans un secteur de distribution, veuillez les paramétrer", vbInformation
'Traitement de l'expédition
With Sheets("Expédition")
Set Plage_Voy_Expe = .Range("B9:B100")
End With
With Sheets("Analyse")
Set Plage_Expe = .Range("A10:AE51")
End With
For Each b In Plage_Voy_Expe
If b.Value <> 0 Then
Set Plage_Recherche_Ex = Plage_Expe.Find(What:=b.Value, LookIn:=xlValues, lookat:=xlPart)
If Plage_Recherche_Ex Is Nothing Then
'Stock(i) = b.Value 'stockage du voyage non référencé
j = j + 1 'incrémentation de la variable
Else
Plage_Recherche_Ex.Offset(0, 2).Value = Plage_Recherche_Ex.Offset(0, 2).Value + b.Offset(0, 1).Value
End If
End If
Next
MsgBox j & " Voyages d'expédition non pas réussis à être placé dans un secteur d'expédition, veuillez les paramétrer", vbInformation
'For j = 0 To UBound(Stock)
'MsgBox Stock(j) & " Voyage non référencé dans l'onglet analyse, veuillez le rajouter dans la bonne section", vbInformation
'Next j
End Sub
Sub Compiler()
'ouverture du fichier de synthèse par secteur
Workbooks.Open "W:\TFE Lorraine\CGO\SUIVI TONNAGE 2010\Analyse_Secteur.xls"
Dim c As Integer
'permet de récupérer la dernière ligne vide
c = Workbooks("Analyse_Secteur.xls").Sheets("Synthèse").Range("A65536").End(xlUp).Row + 1
'pour travailler dans le bon onglet
With Workbooks("Analyse_Secteur.xls").Sheets("Synthèse")
'copie de la date
.Cells(c, 1).Value = Workbooks("Tonnages 2J").Sheets("Distribution").Range("C3").Value
'secteur Nancy
.Cells(c, 2).Value = Workbooks("Tonnages 2J").Sheets("Analyse").Range("C19").Value
'secteur Lunéville
.Cells(c, 3).Value = Workbooks("Tonnages 2J").Sheets("Analyse").Range("G19").Value
'secteur Troyes
.Cells(c, 4).Value = Workbooks("Tonnages 2J").Sheets("Analyse").Range("K19").Value
'secteur Saint Dizier
.Cells(c, 5).Value = Workbooks("Tonnages 2J").Sheets("Analyse").Range("O19").Value
'secteur BLD
.Cells(c, 6).Value = Workbooks("Tonnages 2J").Sheets("Analyse").Range("S19").Value
'secteur Verdun
.Cells(c, 7).Value = Workbooks("Tonnages 2J").Sheets("Analyse").Range("W19").Value
'secteur Vitry
.Cells(c, 8).Value = Workbooks("Tonnages 2J").Sheets("Analyse").Range("AA19").Value
'secteur Est
.Cells(c, 10).Value = Workbooks("Tonnages 2J").Sheets("Analyse").Range("C39").Value
'secteur BPL
.Cells(c, 11).Value = Workbooks("Tonnages 2J").Sheets("Analyse").Range("G39").Value
'secteur Normandie
.Cells(c, 12).Value = Workbooks("Tonnages 2J").Sheets("Analyse").Range("K39").Value
'Secteur Sud Ouest
.Cells(c, 13).Value = Workbooks("Tonnages 2J").Sheets("Analyse").Range("O39").Value
'Secteur Rhones Alpes / Sud Est
.Cells(c, 14).Value = Workbooks("Tonnages 2J").Sheets("Analyse").Range("S39").Value
'Secteur Nord
.Cells(c, 15).Value = Workbooks("Tonnages 2J").Sheets("Analyse").Range("W39").Value
'Secteur Région Parisienne
.Cells(c, 16).Value = Workbooks("Tonnages 2J").Sheets("Analyse").Range("AA39").Value
End With
Workbooks("Analyse_Secteur.xls").Save
Workbooks("Analyse_Secteur.xls").Close False
End Sub
Stock(i) = a.Value
'On se place dans l'onglet Analyse
With Sheets("Analyse")
'Sélection des plages à vider
[B][COLOR=red].Range("C6:C18,G6:G18,K6:K18,O6:O18,S6:S18,W6:W18,AA6:AA18").ClearContents
[/COLOR][/B]
'plage d'import des tonnages distribution
Set Plage_Distri = .Range("A6:AA14")
End With
Option Explicit
Option Base 0
Sub Secteur()
'Variable pour la distribution
Dim a 'les différents voyages distri qui vont être testés
[b]Dim Stock()[/b] 'tableau stockant les voy non référencés
Dim Plage_Distri As Range 'plage stockant les données des secteurs distri
Dim Plage_Voy_Distri As Range 'plage contenant la liste des voy analysés
Dim Plage_Recherche As Range 'case résultat en cas de correspondance entre 2 voy.
Dim i As Integer 'compteur de voy non référencés
Dim k As Integer
Dim l As Integer
'Variable pour l'expédition
Dim b 'les différents voyages expé qui vont être testés
Dim j 'le compteur du nombre de voyages expé non référencés
Dim Plage_Expe As Range 'plage stockant la liste des voy a dispatcher
Dim Plage_Voy_Expe As Range 'plage contenant la liste des voy analysés
Dim Plage_Recherche_Ex As Range 'case résultat en cas de correspondance entre 2 voy.
i = 0
With Sheets("Analyse")
.Range("C10:C28,G10:G28,K10:K28,O10:O28,S10:S28,W10:W28,AA10:AA28,AE10:AE28,C36:C51,G36:G51,K36:K51,O36:O51,S36:S51,W36:W51,AA36:AA51,AE36:AE51").ClearContents
End With
'Traitement de la distribution
With Sheets("Distribution")
'Définition de la plage contenant le nom des voyages
Set Plage_Voy_Distri = .Range("B9:B100")
End With
'On se place dans l'onglet Analyse
With Sheets("Analyse")
'plage d'import des tonnages distribution
Set Plage_Distri = .Range("A10:AE51")
End With
'pour chaque voyage non nul dans la table des codes voyages
For Each a In Plage_Voy_Distri
'Si la cellule à gauche "-1" est non nulle alors
If a.Value <> 0 Then
'rechercher dans la plage de distri un voyage correspondant à a.Value
Set Plage_Recherche = Plage_Distri.Find(What:=a.Value, LookIn:=xlValues, lookat:=xlPart)
'si aucun voyage trouvé on incrément le compteur distri
If Plage_Recherche Is Nothing Then
[b]Stock(k) = a.Value[/b] 'stockage du voyage distri non référencé
i = i + 1 'incrémentation de la variable
k = k +1
Else
'sinon on se place 2 cases après le voyage la valeur du tonnage
Plage_Recherche.Offset(0, 2).Value = Plage_Recherche.Offset(0, 2).Value + a.Offset(0, 1).Value
End If
End If
Next
'on affiche un message contenant le nombre de voyages non trouvés
MsgBox i & " Voyages de distribution non pas réussis à être placé dans un secteur de distribution, veuillez les paramétrer", vbInformation
'Traitement de l'expédition
With Sheets("Expédition")
Set Plage_Voy_Expe = .Range("B9:B100")
End With
With Sheets("Analyse")
Set Plage_Expe = .Range("A10:AE51")
End With
For Each b In Plage_Voy_Expe
If b.Value <> 0 Then
Set Plage_Recherche_Ex = Plage_Expe.Find(What:=b.Value, LookIn:=xlValues, lookat:=xlPart)
If Plage_Recherche_Ex Is Nothing Then
[b]Stock(k) = b.Value[/b] 'stockage du voyage non référencé
j = j + 1 'incrémentation de la variable
k = k +1
Else
Plage_Recherche_Ex.Offset(0, 2).Value = Plage_Recherche_Ex.Offset(0, 2).Value + b.Offset(0, 1).Value
End If
End If
Next
MsgBox j & " Voyages d'expédition non pas réussis à être placé dans un secteur d'expédition, veuillez les paramétrer", vbInformation
[b]For l = 0 To UBound(Stock)
MsgBox Stock(l) & " Voyage non référencé dans l'onglet analyse, veuillez le rajouter dans la bonne section", vbInformation
Next l[/b]
End Sub
[COLOR=BLUE]Sub[/COLOR] Tableau()
[COLOR=BLUE]Dim[/COLOR] stock()
[COLOR=BLUE]Dim[/COLOR] incr [COLOR=BLUE]As[/COLOR] [COLOR=BLUE]Integer[/COLOR]
incr = incr + 1
[COLOR=BLUE]ReDim[/COLOR] [COLOR=BLUE]Preserve[/COLOR] stock(0 To incr)
stock(incr) = [i]"rrr"[/i]
[COLOR=BLUE]End[/COLOR] [COLOR=BLUE]Sub[/COLOR]
Sub Secteur()
'Variable pour la distribution
Dim a 'les différents voyages distri qui vont être testés
Dim Stock() 'tableau stockant les voy non référencés
Dim Plage_Distri As Range 'plage stockant les données des secteurs distri
Dim Plage_Voy_Distri As Range 'plage contenant la liste des voy analysés
Dim Plage_Recherche As Range 'case résultat en cas de correspondance entre 2 voy.
Dim i As Integer 'compteur de voy non référencés
Dim k, l As Integer
'Variable pour l'expédition
Dim b 'les différents voyages expé qui vont être testés
Dim j 'le compteur du nombre de voyages expé non référencés
Dim Plage_Expe As Range 'plage stockant la liste des voy a dispatcher
Dim Plage_Voy_Expe As Range 'plage contenant la liste des voy analysés
Dim Plage_Recherche_Ex As Range 'case résultat en cas de correspondance entre 2 voy.
i = 0
j = 0
k = 1
With Sheets("Analyse")
.Range("C10:C28,G10:G28,K10:K28,O10:O28,S10:S28,W10:W28,AA10:AA28,AE10:AE28,C36:C51,G36:G51,K36:K51,O36:O51,S36:S51,W36:W51,AA36:AA51,AE36:AE51").ClearContents
End With
'Traitement de la distribution
With Sheets("Distribution")
'Définition de la plage contenant le nom des voyages
Set Plage_Voy_Distri = .Range("B9:B100")
End With
'On se place dans l'onglet Analyse
With Sheets("Analyse")
'plage d'import des tonnages distribution
Set Plage_Distri = .Range("A10:AE51")
End With
'pour chaque voyage non nul dans la table des codes voyages
For Each a In Plage_Voy_Distri
'Si la cellule à gauche "-1" est non nulle alors
If a.Value <> 0 Then
'rechercher dans la plage de distri un voyage correspondant à a.Value
Set Plage_Recherche = Plage_Distri.Find(What:=a.Value, LookIn:=xlValues, lookat:=xlPart)
'si aucun voyage trouvé on incrément le compteur distri
If Plage_Recherche Is Nothing Then
ReDim Preserve Stock(0 To k)
Stock(k) = a.Value 'stockage du voyage distri non référencé
i = i + 1 'incrémentation de la variable
k = k + 1
Else
'sinon on se place 2 cases après le voyage la valeur du tonnage
Plage_Recherche.Offset(0, 2).Value = Plage_Recherche.Offset(0, 2).Value + a.Offset(0, 1).Value
End If
End If
Next
'on affiche un message contenant le nombre de voyages non trouvés
MsgBox i & " Voyages de distribution non pas réussis à être placé dans un secteur de distribution, veuillez les paramétrer", vbInformation
'Traitement de l'expédition
With Sheets("Expédition")
Set Plage_Voy_Expe = .Range("B9:B100")
End With
With Sheets("Analyse")
Set Plage_Expe = .Range("A10:AE51")
End With
For Each b In Plage_Voy_Expe
If b.Value <> 0 Then
Set Plage_Recherche_Ex = Plage_Expe.Find(What:=b.Value, LookIn:=xlValues, lookat:=xlPart)
If Plage_Recherche_Ex Is Nothing Then
ReDim Preserve Stock(0 To k)
Stock(k) = b.Value 'stockage du voyage non référencé
j = j + 1 'incrémentation de la variable
k = k + 1
Else
Plage_Recherche_Ex.Offset(0, 2).Value = Plage_Recherche_Ex.Offset(0, 2).Value + b.Offset(0, 1).Value
End If
End If
Next
MsgBox j & " Voyages d'expédition non pas réussis à être placé dans un secteur d'expédition, veuillez les paramétrer", vbInformation
If k <> 1 Then
[b]For l = 0 To UBound(Stock)
MsgBox Stock(l) & " Voyage non référencé dans l'onglet analyse, veuillez le rajouter dans la bonne section", vbInformation
Next l[/b]
End If
End Sub
cf #4Visiblement tu n'as pas lu correctement ma réponse puisque tu n'a pas modifier ta ligne d'instruction .clearContents, sans select.
moi-même personnellement à dit:Visiblement tu n'as pas lu correctement ma réponse puisque tu n'a pas modifier ta ligne d'instruction .clearContents, sans select.