Utilisation des données d'un tableau

dudux2

XLDnaute Nouveau
Bonjour,

Actuellement mon code utilise des variables nom, prénom, état, pour remplir des champs depuis plusieurs macro.
Mon bute serais de boucler sur une liste d'utilisateur, pour automatisé les taches. Actuellement je suis obligé de modifier le nom de l'utilisateur avant d’exécuter ma série de macro.

En commentaire mon ancien code.

Mon code n'ai pas fonctionnelle je pense...

Je voudrais dans un premier temps rechercher la dernière ligne contenant du texte:
A améliorer =>
Code:
derniere_ligne = Range("H10").End(xlDown).Row 'Dernière ligne de la base de données

Code:
    'Ici on récupère les variables dans la feuille Adminitration
    With Sheets("Administration")
        ' Créer le nom du nouveau classeur
'        Nom = .Range("H10")
'        Prenom = .Range("I10")
'        Etat = .Range("J10")
'        Annee = .Range("D12")
'        AncienneVersion = .Range("D23")
'        Version = .Range("D25")
'        NomFichier = "Feuille d'heure " & Prenom & " " & Nom & " " & Annee & " " & Version & ".xls"
'    End With

'''''' Nouvelle fonction
    derniere_ligne = Range("H10").End(xlDown).Row 'Dernière ligne de la base de données

    Dim tab_utilisateur(), x As Integer, h As Integer, i As Integer, j As Integer
    ReDim tab_utilisateur(derniere_ligne - 10, 2)
   
    'Enregistrement des valeurs dans le tableau
    For x = 0 To derniere_ligne - 2
        tab_utilisateur(x, 0) = Range("H" & i + 10)
        tab_utilisateur(x, 1) = Range("I" & i + 10)
        tab_utilisateur(x, 2) = Range("J" & i + 10)
    Next
    
    'Utilisation des données du tableau
    For h = 1 To UBound(tab_utilisateur, 1) 'boucle sur la 1ere dimension
        For i = 1 To UBound(tab_utilisateur, 2) 'boucle sur la 2eme dimension
            For j = 1 To UBound(tab_utilisateur, 2) 'boucle sur la 3eme dimension
                'Alimente les éléments du tableaux
                tab_utilisateur(h, i, j) = h & i & j
                'Lit les éléments du tableau
                Debug.Print tab_utilisateur(h, i, j)
                ' Ici boucler sur les fonctions à réaliser
            Next j
        Next i
    Next h
'''''' Fin de la nouvelle fonction
 

camarchepas

XLDnaute Barbatruc
Re : Utilisation des données d'un tableau

Bonjour Dudux,

Voici un début d'étude,
évidement sans le fichier, cela sera peut être à adapter :

Code:
Option Explicit ' Oblige à déclarer les variables ,
'évite d'utiliser des variables orthographiées presque à l'identique
' Ex : DerniereLigne et Derniere_Ligne peuvent créer un disfonctionnement que l'on peut mettre longtemps à trouver

Sub Traitement()
Dim DerniereLigne As Long
Dim Clef As String
Dim LignesFeuille As Long, Début As Long
Dim Tab_Utilisateur() As String
Dim Utilisateur As Long, CritereNum As Long
' La clef sera une colonne toujours remplie pour chaque élément
Clef = "H"
'Nombre de lignes maxi d'un feuille (Varie en fonction des versions Excel
LignesFeuille = Rows.Count
'Correspond à la premiére ligne de données
 Début = 10
'Le with équivaux à une mise en facteur
'Ici si les éléments à l'intérieur du with sont précédés d'un point,
'il font référence à l'objet déclaré par le with

With Sheets("Administration")
 'Dernière ligne de la base de données
 'Selon les cas , il est préférable de repérer la dernière ligne en remontant depuis la derniére ligne de la feuille
  DerniereLigne = .Range(Clef & LignesFeuille).End(xlUp).Row
  'Ajuste la variable au nombre de lignes
  ReDim Tab_Utilisateur(DerniereLigne - Début, 2)
   'Enregistrement des valeurs dans le tableau

    For Utilisateur = 0 To DerniereLigne - Début
      For CritereNum = 0 To 2
       'Charge les éléments du tableau
       Tab_Utilisateur(Utilisateur, CritereNum) = .Range("H" & Début).Offset(Utilisateur, CritereNum)
       
       
       ' Pour vérification lors de la mise au point a supprimer dans le code définitif
       Debug.Print Tab_Utilisateur(Utilisateur, CritereNum)
       ' Ici appeler ou insérer les fonctions à réaliser
      
      
      Next CritereNum
   Next Utilisateur
End With
End Sub
 

Discussions similaires

Réponses
11
Affichages
347

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 979
dernier inscrit
bderradji