Bonjour à tous,
Supposons qu'on a une liste de variables (contenues dans l'array var(1 To 10)) dont les valeur ressemblent à ça :
var1 = 0
var2 = A2
var3 = 0
var4 = A8
var5 = A12
var6 = B7
var7 = 0
var8 = 0
var9 = 0
var10 = 12
Comment faire pour réaffecter uniquement les valeurs différentes de 0 à de nouvelles variables, pour aboutir au résultat suivant : ?
vardiffde0_1 = A2
vardiffde0_2 = A8
vardiffde0_3 = A12
vardiffde0_4 = B7
vardiffde0_5 = 12
J'ai essayé avec cette macro, mais ça réaffecte uniquement une variable, au delà, ça fonctionne pas (variablecompte provient d'un calcul précédent, de même pour variablenonvide) :
	
	
	
	
	
		
Je vous remerci à l'avance pour votre aide,
Youri
	
		
			
		
		
	
				
			Supposons qu'on a une liste de variables (contenues dans l'array var(1 To 10)) dont les valeur ressemblent à ça :
var1 = 0
var2 = A2
var3 = 0
var4 = A8
var5 = A12
var6 = B7
var7 = 0
var8 = 0
var9 = 0
var10 = 12
Comment faire pour réaffecter uniquement les valeurs différentes de 0 à de nouvelles variables, pour aboutir au résultat suivant : ?
vardiffde0_1 = A2
vardiffde0_2 = A8
vardiffde0_3 = A12
vardiffde0_4 = B7
vardiffde0_5 = 12
J'ai essayé avec cette macro, mais ça réaffecte uniquement une variable, au delà, ça fonctionne pas (variablecompte provient d'un calcul précédent, de même pour variablenonvide) :
		Code:
	
	
	If variablecompte > 0 Then
    ReDim var_ref(variablecompte, 4)
    depart_boucle_var_ref = 1
    l = 1
    m = 1
departdelaboucle: For k = depart_boucle_var_ref To variablecompte
    For i = l To 4
    For j = l To 4
        If variablenonvide(i, j) <> 0 Then
            var_ref(k, 1) = variablenonvide(i, j)
            depart_boucle_var_ref = depart_boucle_var_ref + 1
            l = l + i
            m = m + j
            GoTo departdelaboucle
        End If
    Next
    Next
Next
End If
For n = 1 To variablecompte
    messagetest = messagetest & n & ":" & var_ref(n, 1) & vbCrLf
Next
MsgBox messagetest
	Je vous remerci à l'avance pour votre aide,
Youri
			
				Dernière édition: