Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro VBA qui ne tourne pas

  • Initiateur de la discussion Initiateur de la discussion baptbapt
  • 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 !

baptbapt

XLDnaute Occasionnel
Bonjour

Sub Valeur()
Dim i As Variant
Dim e As Range
i = InputBox("Indiquez le nombre de valeurs à caluler de 1 à 256", "Nombre de valeurs", 90)

'nettoyer avant de recommencer'
Range("Q5:Q" & Range("Q65536").End(xlUp).Row).Select
Selection.ClearContents
Range("Q5").Select

'calculs en boucle sur toutes les cellules de 1 à i'
For Each e In Range("Q5:Q" & i + 4)
If AD.Value > 0 Then
e.Value = Range("AA" & AD.Row).Value + Range("L" & AD.Row).Offset(-1, 0).Value
Else
e.Value = Range("L" & AD.Row)
End If
Next e
End Sub

Voila ma macro qui réalise l'équation
si(AD5>0;AA5+M4;M5)
et aisni de suite par l'utilisation d'une itération

Mon système bloque sur la condition
If AD.Value > 0 Then

si quelqu'un connait la solution de mon problème

Merci
 
Re : Macro VBA qui ne tourne pas

re

Code:
For Each e In Range("Q5:Q" & i + 4)
If Range("AD" & e.Row).Value > 0 Then
e.Value = Range("AA" & e.Row).Value + Range("L" & e.Row).Offset(-1, 0).Value
Else
e.Value = Range("L" & e.Row)
End If
Next e

à essayer
 
Re : Macro VBA qui ne tourne pas

Merci dg62

pour une macro du type
si(R5>M5;si(K5>0;1+M4;M4);M5)


Sub Nbval()
Dim i As Variant
Dim f As Range
Dim R As Range
i = InputBox("Indiquez le nombre de valeurs à caluler de 1 à 256", "Nombre de valeurs", 90)

'nettoyer avant de recommencer'
Range("V5:V" & Range("V65536").End(xlUp).Row).Select
Selection.ClearContents
Range("V5").Select

'calculs en boucle sur toutes les cellules de 1 à i'
For Each f In Range("V5:V" & i + 4)
If V.Value > Range("L" & f.Row).Value Then
If Range("J" & f.Row).Value > 0 Then
f.value = Range("L" & f.Row - 1).Value + 1
Else
f.value = Range("L" & f.Row - 1).Value
End If
Else
f.value = Range("L" & f.Row).Value
End If
Next f
End Sub

c'est bien comme sa
 
Re : Macro VBA qui ne tourne pas

je vien de la lancer

problème sur cette ligne
If R.Value > Range("L" & f.Row).Value Then

voila ma fonction que j'ai modifié pour faire cette macro
'Function NbMax(Q As Range)
' If Q.Value > Range("L" & Q.Row).Value Then
' If Range("J" & Q.Row).Value > 0 Then
' NbMax = Range("L" & J.Row - 1).Value + 1
' Else
' NbMax = Range("L" & J.Row - 1).Value
' End If
' Else
' NbMax = Range("L" & Q.Row).Value
' End If
'End Function
 
Re : Macro VBA qui ne tourne pas

re

Sub Nbval()
Dim i As Variant
Dim f As Range
Dim R As Range
i = InputBox("Indiquez le nombre de valeurs à caluler de 1 à 256", "Nombre de valeurs", 90)

'nettoyer avant de recommencer'
Range("V5:V" & Range("V65536").End(xlUp).Row).Select
Selection.ClearContents
Range("V5").Select

'calculs en boucle sur toutes les cellules de 1 à i'
For Each f In Range("V5:V" & i + 4)
If V.Value > Range("L" & f.Row).Value Then 'de ou vient ce V ?
If Range("J" & f.Row).Value > 0 Then
f.value = Range("L" & f.Row - 1).Value + 1
Else
f.value = Range("L" & f.Row - 1).Value
End If
Else
f.value = Range("L" & f.Row).Value
End If
Next f
End Sub
 
Re : Macro VBA qui ne tourne pas

Sub Nbval()
Dim i As Variant
Dim f As Range
Dim Q As Range
i = InputBox("Indiquez le nombre de valeurs à caluler de 1 à 256", "Nombre de valeurs", 90)

'nettoyer avant de recommencer'
Range("V5:V" & Range("V65536").End(xlUp).Row).Select
Selection.ClearContents
Range("V5").Select

'calculs en boucle sur toutes les cellules de 1 à i'
For Each f In Range("V5:V" & i + 4)
If Q.Value > Range("L" & f.Row).Value Then
If Range("J" & f.Row).Value > 0 Then
f.value = Range("L" & f.Row - 1).Value + 1
Else
f.value = Range("L" & f.Row - 1).Value
End If
Else
f.value = Range("L" & f.Row).Value
End If
Next f
End Sub

ce n'était pas V, mais Q ou R
mais sa marche toujours pas, meme avec la correction
 
Re : Macro VBA qui ne tourne pas

re

If range("Q" & f.row).Value > Range("L" & f.Row).Value Then

c'est difficile sans avoir tes données devant les yeux.


Q, c'est la colonne Q

Q5, Q6...Q...
 
Re : Macro VBA qui ne tourne pas

re

essaye avec le code rouge, la macro tourne.
Quand tu mets Q>, tu fais bien référence à la colonne Q, de Q5 à Qi+4 ?

Code:
'calculs en boucle sur toutes les cellules de 1 à i'
For Each a In Range("V5:V" & i + 4)
    If [COLOR=red]Range("Q" & a.Row).Value[/COLOR] > Range("L" & a.Row).Value Then
        If Range("J" & a.Row).Value > 0 Then
            a.Value = Range("L" & a.Row).Offset(-1, 0).Value + 1
        Else
            a.Value = Range("L" & a.Row).Offset(-1, 0).Value
        End If
    Else
        a.Value = Range("L" & a.Row)
    End If
Next a
 
- 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

Discussions similaires

Réponses
4
Affichages
756
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
906
Réponses
2
Affichages
772
Réponses
2
Affichages
589
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…