Max in array ou new collection

Bonjour, j'essaie d'améliorer une macro que j'avais faite et je sèche dans la recherche et l'exécution de solution, je suis un noob en VBA

c'est une macro d'édition d'étiquettes pour liste d'équalisage, je vous met le bout de code qui me pose problème

Je joins le fichier vierge avec lequel je me bat ci cela peut aider à suivre ma logique^^

Merci d'avance

'Déclaration variable pour récupérer le nombre de colis
Dim colis As Integer
Dim nbcolis As Integer
Dim pal() As New Collection '
colis = 0
nbcolis = 0

'Récupération nom des feuilles
Dim nomfeuille As Variant
Dim FeuilCopier As Worksheet 'Onglet qui sera à copier

Dim ongletDest As Worksheet 'Onglet de destination de la copie
Set ongletDest = Worksheets("Liste Colis & Destinataires")

'1 - on copie la leuille de féférence et la renome
Worksheets("Liste Colis & Destinataires").Copy Before:=Worksheets("Vierge avec Taille de Cellules") 'copie et positionnement de la copie
ActiveSheet.Name = "Liste d'équalisage" 'Renomme la feuille

'2 - on récupère le nombre de colis
For Each nomfeuille In ThisWorkbook.Worksheets

    Set FeuilCopier = Worksheets(nomfeuille.Name)
    ongletDest.Activate 'action sur feuille active

    pal.Add = FeuilCopier.Range("B,10") ' n° de colis
    pal.Add = FeuilCopier.Range("B,28")  ' n° de colis
    pal.Add FeuilCopier.Range("R,10") ' n° de colis
    pal.Add FeuilCopier.Range("R,28") ' n° de colis

    'result = WorksheetFunction.Max(A, B, C, D)
    'nbcolis = colis + 1
If nomfeuille.Name = "Liste d'équalisage" Then Exit For 'condition de fin de la boucle for each
Next nomfeuille 'autrement reprend la boucle

nbcolis = pal.Max

MsgBox nbcolis

Bonjour AOBI et

Quelle est votre problématique exactement

Le code donné ne figure pas dans le fichier....

@+

ci il est dans l'userform1 sur le bouton enregistrement
vu que le nombre d'étiquette peut être aléatoire à chaque utilisation

dans la macro pour que la boucle fonctionne faut récupérer le dernier colis en gros la vision que j'ai

array(2,1,1,3,5,8,7,6)

les étiquettes peuvent se trouver d'une dans le désordre

mon problème est que ne trouve pas comment mettre dans dans le array ou la fonction .new collection des contenues de cellules

j'ai beau chercher je sèche sur la méthode max

pour avoir le dernier colis en état ci dessus c'est 8

mon fichier d'édition d'étiquette fonctionne dans une grosse partie + étiquette et l'édition fonctionne de celles ci fonctionnent

après j'essaie d'automatiser pour rendre plus facile d'utilisation

personne pour m'aider ^^

comment insérer le contenu de cellules dans une fonction array ou new collection

es ce que c'est possible ou pas de cette manière
merci

j'ai beau chercher des model j'en trouve pas

Bonjour à tous,

Pour la fonction Max, il faut l'utiliser sur un array. Voici un essai :

'Déclaration variable pour récupérer le nombre de colis
Dim nomfeuille As Variant
Dim ws As Worksheet 'Onglet qui sera à copier
dim ongletDest As Worksheet 'Onglet de destination de la copie
Dim colis As Integer
Dim nbcolis As Integer
Dim pal()

colis = 0
nbcolis = 0
Set ongletDest = Worksheets("Liste Colis & Destinataires")

'1 - on copie la leuille de féférence et la renome
Worksheets("Liste Colis & Destinataires").Copy Before:=Worksheets("Vierge avec Taille de Cellules") 'copie et positionnement de la copie
ActiveSheet.Name = "Liste d'équalisage" 'Renomme la feuille

'2 - on récupère le nombre de colis
For Each ws In ThisWorkbook.Worksheets
    n = n + 1
    redim preserve pal(1 to 4, 1 to n)
    pal(1, n) = ws.Range("B10") ' n° de colis
    pal(2, n) = ws.Range("B28")  ' n° de colis
    pal(3, n) = ws.Range("R10") ' n° de colis
    pal(4, n) = ws.Range("R28") ' n° de colis
    If ws.Name = "Liste d'équalisage" Then Exit For 'condition de fin de la boucle for each
Next ws 'autrement reprend la boucle

nbcolis = application.Max(pal)

MsgBox nbcolis

Cdlt,

Bonjour, je partais sur une autre solution en me servant d'un transfère sur la feuille de destinataires et récupérer la plage par la suite

Merci je vais continuer mon contournement et je vais comparer ton point de vue aussi

par contre je n'arrivais à écrire dans new collection ou array car l'itération je m'y prenais mal et pour ça Merci ^^

Rechercher des sujets similaires à "max array new collection"