Vba excel boucle for
Résolu
amine69500
Messages postés
422
Date d'inscription
Statut
Membre
Dernière intervention
-
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
voila je vous expose mon probleme :
j'ai créer une dll sous c++ (test_dll) avec une lib comportan une fonction avec plusieurs variables,
function de la lib
void__stdcal toto(BSTR A, BSTR B, BSTR C)
{
....
}
ensuite j'ai declarer ma lib sous vba
Module1
Private Declare Sub toto Lib "test_dll.dll" (ByVal A As String, ByVal B As String, ByVal CAs String)
et pour faire appel a la fonction de ma lib j'ai réalisé la procedure suivante:
Sub test()
'Déclaration des variables
Dim A As String
Dim B As String
Dim C As String
'Valeurs des variables
A = Feuil2.Range("A2").Value
B = Feuil2.Range("B2).Value
C = Feuil2.Range("C2).Value
'Call la dll
toto A, B, C
End Sub
Et un bouton dans un userform qui me permet d'appeler la procedure
Private Sub CommandButton1_Click()
Call module1.test
End Sub
et ca marche super
mon code me permet d'appeler la fonction de ma lib en lui affectant les données de la ligne A2 C2
mais je dispose d'un tableau de plusieurs lignes (A1:C500) avec bien sure A1:C1 comme entetes du tableau
ma question : comment je pourrais mettre en place une boucle for
qui me permettra d'appeler la fonction de ma lib pour chaque ligne
j'espere que j'etais claire
merci de votre aide
cordialement
je ne peu mettre le fichier exemple car il faut avoir les dll sous windows --> systeme32
voila je vous expose mon probleme :
j'ai créer une dll sous c++ (test_dll) avec une lib comportan une fonction avec plusieurs variables,
function de la lib
void__stdcal toto(BSTR A, BSTR B, BSTR C)
{
....
}
ensuite j'ai declarer ma lib sous vba
Module1
Private Declare Sub toto Lib "test_dll.dll" (ByVal A As String, ByVal B As String, ByVal CAs String)
et pour faire appel a la fonction de ma lib j'ai réalisé la procedure suivante:
Sub test()
'Déclaration des variables
Dim A As String
Dim B As String
Dim C As String
'Valeurs des variables
A = Feuil2.Range("A2").Value
B = Feuil2.Range("B2).Value
C = Feuil2.Range("C2).Value
'Call la dll
toto A, B, C
End Sub
Et un bouton dans un userform qui me permet d'appeler la procedure
Private Sub CommandButton1_Click()
Call module1.test
End Sub
et ca marche super
mon code me permet d'appeler la fonction de ma lib en lui affectant les données de la ligne A2 C2
mais je dispose d'un tableau de plusieurs lignes (A1:C500) avec bien sure A1:C1 comme entetes du tableau
ma question : comment je pourrais mettre en place une boucle for
qui me permettra d'appeler la fonction de ma lib pour chaque ligne
j'espere que j'etais claire
merci de votre aide
cordialement
je ne peu mettre le fichier exemple car il faut avoir les dll sous windows --> systeme32
A voir également:
- Vba excel boucle for
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
4 réponses
Bonjour,
Bonne suite
Sub test() 'Déclaration des variables Dim A As String Dim B As String Dim C As String Dim Plage As Range Dim Cel As Range With Feuil2 Set Plage = .Range("A2:A500") 'Valeurs des variables For Each Cel In Plage A = .Range("A" & Cel.Row).Value B = .Range("B" & Cel.Row).Value C = .Range("C" & Cel.Row).Value 'Call la dll toto A, B, C Next Cel End With End Sub
Bonne suite
Bonjour et merci mille fois pour votre aide ca marche super bien
merci, merci, merci, merci, merci, merci
Je vous souhaite une bonne journée
Cordialement
merci, merci, merci, merci, merci, merci
Je vous souhaite une bonne journée
Cordialement
Bonjour,
Sub test() 'Déclaration des variables Dim A As String Dim B As String Dim C As String Dim Plage As Range Dim Cel As Range 'Definition d'un bloc with end with pour Feuil2 'Tous les objets ayant un point (.Range("A2:A500")) sont de la feuil2 With Feuil2 'Definition de la plage de cellules a tester Set Plage = .Range("A2:A500") 'Valeurs des variables 'Pour chaque cellule ou range dans la plage Plage("A2:A500") For Each Cel In Plage 'Cel definie comme range: Cel.Row donne la ligne, Cel.Column donne la colonne 'de la cellule testee (vous avez toutes les proprietes d'une cellule ou range) A = .Range("A" & Cel.Row).Value B = .Range("B" & Cel.Row).Value C = .Range("C" & Cel.Row).Value 'Call la dll toto A, B, C Next Cel End With End Sub