• Initiateur de la discussion Initiateur de la discussion abrare
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

A

abrare

Guest
Bonjour,

Je débute tout juste sur VBA sous excel, je voudrais créer une feuille récap d'une BBD nommée Recettelavage. Pour chaque n° de lavage et chaque paramètre de lavage, je recherche la situation la plus récente. Vous comprendrez mieux avec le fichier.


Je vous montre mon programme (soyez indulgents)


Private Sub Aut😵pen()

Dim Recapn°lavage As Integer
Dim RecapParamètre As String
Dim RecapSituation As Variant
Dim n°lavage As Integer
Dim Paramètre As String
Dim Situation As Variant
Dim I As Integer
Dim J As Integer
Dim K As Integer

Recapn°lavage = Range("A4:A100")
RecapParamètre = Range("D3:AA3")
RecapSituation = Range("D4:AA100")
n°lavage = Sheets("Recettelavage").Range("C4:C100")
Paramètre = Sheets("Recettelavage").Range("F4:F100")
Situation = Sheets("Recettelavage").Range("I4:I100")


For I = 1 To 100
For J = 1 To 100
For K = 1 To 24 'J'ai 24 paramètres de lavage'
If Recapn°lavage(I, 1) = n°lavage(J, 1) Then
If Paramètre(J, 1) = RecapParamètre(1, K) Then
RecapSituation(I, K) = Situation(J, 1)
End If
Next I
Next J
Next K

End Sub


Merci d'avance pour votre aide
 

Pièces jointes

Ce que tu as besoin, dans ta macro, ce sont des tableaux :
VB:
Private Sub Auto_Open()
 Dim Recapn°lavage(1 To 100, 1 To 100) As Integer
 Dim RecapParamètre(1 To 100, 1 To 100) As String
 Dim RecapSituation(1 To 100, 1 To 100) As Variant
 Dim n°lavage(1 To 100, 1 To 100) As Integer
 Dim Paramètre(1 To 100, 1 To 100) As String
 Dim Situation(1 To 100, 1 To 100) As Variant
 Dim I As Integer
 Dim J As Integer
 Dim K As Integer

 Recapn°lavage = Range("A4:A100")
 RecapParamètre = Range("D3:AA3")
 RecapSituation = Range("D4:AA100")
 n°lavage = Sheets("Recettelavage").Range("C4:C100")
 Paramètre = Sheets("Recettelavage").Range("F4:F100")
 Situation = Sheets("Recettelavage").Range("I4:I100")


 For I = 1 To 100
    For J = 1 To 100
         For K = 1 To 24
    If Recapn°lavage(I, 1) = n°lavage(J, 1) Then
    If Paramètre(J, 1) = RecapParamètre(1, K) Then
    RecapSituation(I, K) = Situation(J, 1)
    End If
    Next I
    Next J
    Next K


End Sub

Si j'peux me permettre, j'évite les caracteres speciaux, les accents dans les noms de variables (ex : °, é) et les espaces dans les noms de feuille
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
686
Réponses
8
Affichages
355
Réponses
5
Affichages
830
Réponses
15
Affichages
622
Réponses
3
Affichages
309
  • Question Question
Microsoft 365 Erreur UBound
Réponses
4
Affichages
269
Retour