Macro sous Excel 2010
David
-
David -
David -
Bonjour,
Voici la programmation en VBA avec Excel 2010. J'ai tapé ceci pour programmer mon macro:
Sub Test()
If Range("A3").Value = Range("C3").Value Then
If Range("B3").Value = "5" Then Range("D3").Value = "+20"
If Range("B3").Value = "4" Then Range("D3").Value = "+19"
If Range("B3").Value = "3" Then Range("D3").Value = "+18"
If Range("B3").Value = "2" Then Range("D3").Value = "+17"
If Range("B3").Value = "1" Then Range("D3").Value = "+16"
If Range("B3").Value = "0" Then Range("D3").Value = "+13"
ElseIf Range("A3").Value <> Range("C3").Value Then
If Range("B3").Value = "5" Then Range("D3").Value = "-20"
If Range("B3").Value = "4" Then Range("D3").Value = "-6"
If Range("B3").Value = "3" Then Range("D3").Value = "+0"
If Range("B3").Value = "2" Then Range("D3").Value = "+2"
If Range("B3").Value = "1" Then Range("D3").Value = "+3"
If Range("B3").Value = "0" Then Range("D3").Value = "+4"
Else: Range("D3").Value = "Pas de réponse"
End If
End Sub
Mon problème est que, pour l'instant, cela ne s'applique qu'à la 3e ligne. J'aurais voulu savoir comment faire pour l'appliquer à toutes les lignes.
Merci beaucoup! :)
Voici la programmation en VBA avec Excel 2010. J'ai tapé ceci pour programmer mon macro:
Sub Test()
If Range("A3").Value = Range("C3").Value Then
If Range("B3").Value = "5" Then Range("D3").Value = "+20"
If Range("B3").Value = "4" Then Range("D3").Value = "+19"
If Range("B3").Value = "3" Then Range("D3").Value = "+18"
If Range("B3").Value = "2" Then Range("D3").Value = "+17"
If Range("B3").Value = "1" Then Range("D3").Value = "+16"
If Range("B3").Value = "0" Then Range("D3").Value = "+13"
ElseIf Range("A3").Value <> Range("C3").Value Then
If Range("B3").Value = "5" Then Range("D3").Value = "-20"
If Range("B3").Value = "4" Then Range("D3").Value = "-6"
If Range("B3").Value = "3" Then Range("D3").Value = "+0"
If Range("B3").Value = "2" Then Range("D3").Value = "+2"
If Range("B3").Value = "1" Then Range("D3").Value = "+3"
If Range("B3").Value = "0" Then Range("D3").Value = "+4"
Else: Range("D3").Value = "Pas de réponse"
End If
End Sub
Mon problème est que, pour l'instant, cela ne s'applique qu'à la 3e ligne. J'aurais voulu savoir comment faire pour l'appliquer à toutes les lignes.
Merci beaucoup! :)
5 réponses
-
une variable en VBA se déclare comme suit :
dim TaVariable
et comme je te l'ai mis plus haut, ton iMax doit prendre la valeur :
iMax = Range("A65536").End(xlUp).Row
i va donc être la première ligne de tes données, et imax, va se remplir avec la ligne ci-dessus avec le numéro de la dernière ligne où il trouve des données dans la colonne A
Il faut toujours penser à accepter un post qui vous sort du pétrin -
Bonjour David,
Pour cela, déclare un iMax et un i
puis
iMax = Range("A65536").End(xlUp).Row
Cela va te ramener la dernière ligne remplie.
Ensuite tu fais un :
for i = TaLigneDeDebutDeDonnees to imax If Range("A"& i).Value = Range("C" & i).Value Then etc... next i
Il faut toujours penser à accepter un post qui vous sort du pétrin -
Comment est-ce que je déclare iMax et i? Oui, je débute en programmation... Comme ceci: iMax = 5 ?
i correspond à la première ligne et iMax à la dernière?
Merci bien Heremion! :) -
for i = TaLigneDeDebutDeDonnees to imax If Range("A"& i).Value = Range("C" & i).Value Then etc... next i
Je colle donc ce que j'avais tapé pour la 3e ligne dans leIf Range
?
Merci bien! :) -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
bonjour
à la bourre
code commenté en supprimant la série de if
<code>Option Explicit
Supprimé
Excusez moi d'avoir osé proposer une solution peut-^tre + élaborév mais rassure toi, David, je ne te dérangerai plus.
Michel