Macros, effectuer un calcul

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

E

enzogat

Guest
Bonjour à tous,

je me suis lancé depuis ce matin dans les macros. De ce fait, je n'arrive pas à faire ce que je veux malgré un énorme bouquin que je suis en train de feuilleté.

J'aimerais effectuer une macro qui me dise :
Si dans la colonne A j'ai un x, alors je fais dans la colonne B le calcul 3+3
Si je n'ai rien alors je n'affiche rien

dans le cas où le fichier contienne plus de 10000 lignes, il faut que le code puisse tester toutes les cellules de la colonne A et faire le calcul dans B en face des A qui contienne le x.

Est-ce que quelqu'un peut m'aider pour ce problème ?

Merci beaucoup
 
Re : Macros, effectuer un calcul

Bonjour enzogat,
Ci-joint une ébauche de code
A voir si cela te convient:

Code:
Dim i as integer
i=1

For i =1 to 10000

If range("A"&i).value = "x" Then
       range("B" & i).FormulaR1C1 = "ce que tu veux faire"
Enf If
Next

NeMoS
 
Re : Macros, effectuer un calcul

@ NeMos : je vais essayer le code que tu m'as donner
@ Pierrot93 : le truc n'est pas aussi simple que cela. Pour faire simple je fait des extractions SAP que je colle dans un fichier excel. Grâce à ce fichier je peux calculer différent KPI pour le service.
Cependant comme les extraction sont plus ou moins longue (souvent courte en début de mois et plus longue en fin de mois, je dois tirer les formules jusqu'au bout de la dernière ligne qui contient des indications. Je ne peux donner le fichier (confidentiel) mais les données dépassent certaines fois 24000 lignes donc assez long.
Je veux donc créer une macro qui puisse détecter cette dernière ligne et qui tire les formules jusqu'au bout.
 
Re : Macros, effectuer un calcul

Pierrot,

j'ai essayer l'enregistreur mais cela ne me donne pas ce que je souhaite

En effet le code me donne le numéro de la dernière ligne.
Du coup j'ai essayer de tirer la formule jusqu'a cette ligne et le code est le suivant

Sub Macro2()
'
' Macro2 Macro
'

'
Selection.AutoFill Destination:=Range("B1:B524"), Type:=xlFillDefault
Range("B1:B524").Select
End Sub


J'ai cherché par tout les moyens pour que la formules se tire toute seule et donc j'ai essayer le code suivant

Sub denière_ligne()
Selection.AutoFill Destination:=Range("B1:Cells(Rows.Count, 1).End(xlUp).Row"), Type:=xlFillDefault
Range("B1:Cells(Rows.Count, 1).End(xlUp).Row").Select
End Sub

sans succès.
Je ne comprend pas le fonctionnement de VBE encore donc je ne sais pas quel terme rajouter ou quel point mettre a quel endroit....
je sais je pose beaucoup de question mais c'est justement pour apprendre
 
Re : Macros, effectuer un calcul

Sub denière_ligne()
Range("B1").AutoFill Destination:=Range("B1:B" & Cells(Rows.Count, 2).End(xlUp).Row), Type:=xlFillDefault
End Sub

le code suivant ne marche pas
le message suivant s'affiche "la méthode Autofill de la classe range a échoué
 
- 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

  • Question Question
XL 2021 Macro
Réponses
6
Affichages
312
Réponses
5
Affichages
307
Réponses
4
Affichages
280
Retour