Pb VBA Excel - tirer une formule

Fermé
Utilisateur anonyme - 23 juil. 2008 à 14:25
 Tribal - 22 mars 2010 à 19:28
Bonjour,
J'ai regardé auparavant les questions résolues, mais je n'ai pas trouvé de solution. Donc je vous soumets mon problème sur VBA excel.
- dans la colonne A, j'ai une liste de valeurs sur x lignes (le nombre de lignes est changeant)
- dans la colonne B, je voudrais multiplier les valeurs de la colonne A par un nombre (qui est en C1)

J'arrive à réaliser cette multiplication en A1, mais pas à répéter cette multiplication sur toutes les cellules non vides de la colonne A.

Je vous remercie d'avance pour votre aide
A voir également:

20 réponses

LePierre Messages postés 249 Date d'inscription samedi 8 mars 2008 Statut Membre Dernière intervention 2 août 2012 337
23 juil. 2008 à 20:42
bonjour

Voici la macro correspondante à ton souhait :
Sub test2()
    Lig = Cells(1, 1).End(xlDown).Row
    Constante = Range("C1").Value
    For i = 1 To Lig
        Cells(i, 2).Value = Cells(i, 1).Value * Constante
    Next i
End Sub

à plus
2
nvaros Messages postés 141 Date d'inscription mardi 20 mai 2008 Statut Membre Dernière intervention 6 octobre 2009 17
23 juil. 2008 à 14:32
Je ne comprends pas ta requête
1
LePierre Messages postés 249 Date d'inscription samedi 8 mars 2008 Statut Membre Dernière intervention 2 août 2012 337
23 juil. 2008 à 14:36
bonjour

il suffit d'écrire en B1 la formule : =A1*$C$1
et de recopier cette formule dans les cellules de la colonne B
Pas besoin de VBA pour ça.

à plus
1
Utilisateur anonyme
23 juil. 2008 à 14:40
Si, j'ai besoin de savoir comment faire sur VBA, car ce n'est qu'un extrait de l'ensemble de la macro qui comprend ensuite une suppression de colonnes. Je veux éviter de mettre des formules directement sur le fichier excel.
Merci quand même
1
nvaros Messages postés 141 Date d'inscription mardi 20 mai 2008 Statut Membre Dernière intervention 6 octobre 2009 17
23 juil. 2008 à 14:42
Utilise l'enregistreur de macro
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nvaros Messages postés 141 Date d'inscription mardi 20 mai 2008 Statut Membre Dernière intervention 6 octobre 2009 17
23 juil. 2008 à 14:41
Je ne sais pas ce qu'elle veut faire.

Elle ou il dit : "J'arrive à réaliser cette multiplication en A1, mais pas à répéter cette multiplication sur toutes les cellules non vides de la colonne A".

Ce n'est pas en A1 mais en B1.

De plus, je ne comprends pas le sens de "répéter cette multiplication sur toutes les cellules non vides de la colonne A".

Qu'est-ce que tu obtiens alors?
1
Utilisateur anonyme
23 juil. 2008 à 14:46
Effectivement c'est en B1.
Je vais essayer d'être plus explicite : je voudrais ensuite réaliser la même multiiplication dans la colonne B jusqu'à ce qu'il n'y ait plus de valeurs dans la colonne A (et ainsi ne pas avoir de "0" dans la colonne B, sauf évidemment si dans la colonne A une ou plusieurs cellules ont "0" comme valeur)

Par exemple, si en colonne A j'ai des valeurs de la lignes 1 à 9, je voudrai q la macro arrête de multiplier à la 9e ligne.
1
nvaros Messages postés 141 Date d'inscription mardi 20 mai 2008 Statut Membre Dernière intervention 6 octobre 2009 17
23 juil. 2008 à 14:48
Comme je t'ai dit, utilise l'enregistreur de macro, il est très utile
1
Utilisateur anonyme
23 juil. 2008 à 14:53
J'ai essayé. Sauf que dans mon cas, le nombre de lignes change à chaque fois q je lance la macro (données différentes), alors qu'avec l'enregistreur de macro, tu sélectionne une plage fixe de cellules et je n'ai pas envie de changer à chaque fois la macro.
Il faut utiliser quelquechose avec un i=i+1 et do...loop, je pense, mais je n'y arrive pas.
1
nvaros Messages postés 141 Date d'inscription mardi 20 mai 2008 Statut Membre Dernière intervention 6 octobre 2009 17
23 juil. 2008 à 15:04
Je te redis je ne comprends pas ta requete car tuveux simplement qu'en B1 ta formule multiplie A1 par ta cellule fixe C1 etv ainsi de suite
0
Utilisateur anonyme
23 juil. 2008 à 15:05
C'est ça, mais par une macro.
1
nvaros Messages postés 141 Date d'inscription mardi 20 mai 2008 Statut Membre Dernière intervention 6 octobre 2009 17
23 juil. 2008 à 15:07
Tu peux le faire avec l'enregistreur de macro
1
nvaros Messages postés 141 Date d'inscription mardi 20 mai 2008 Statut Membre Dernière intervention 6 octobre 2009 17
23 juil. 2008 à 15:09
A quoi correspond ta cellule C1
1
Utilisateur anonyme
23 juil. 2008 à 15:15
Je vous remercie tous pour votre aide, je suis en train de modifier totalement la macro et ça semble opérationnel, je suis en train d'y travailler. Mais merci encore
1
nvaros Messages postés 141 Date d'inscription mardi 20 mai 2008 Statut Membre Dernière intervention 6 octobre 2009 17
23 juil. 2008 à 15:16
Reflechis logemment avant de poser une question car toute seule tu peux aller loin mais il faut avoir de la volonté
1
Utilisateur anonyme
23 juil. 2008 à 15:18
Mais vous m'avez inconsciemment aidé avec vos suggestions, ça m'a fait réfléchir et voilà.
1
nvaros Messages postés 141 Date d'inscription mardi 20 mai 2008 Statut Membre Dernière intervention 6 octobre 2009 17
23 juil. 2008 à 15:19
C'est bien.

Je te souhaite de reussir ta requête.
1
nvaros Messages postés 141 Date d'inscription mardi 20 mai 2008 Statut Membre Dernière intervention 6 octobre 2009 17
23 juil. 2008 à 15:21
Juste une petite question Carox.

Pourquoi fais-tu cela?

Pour le travail ou non.
1
Utilisateur anonyme
23 juil. 2008 à 15:24
C'est pour le travail. J'ai plusieurs colonnes d'un fichier que je dois copier et mettre dans un autre, sachant que les colonnes ne sont pas dans le même ordre, des données sont à ajouter(valeurs à multiplier), supprimer ou masquer (filtre réalisé)... Et comme je dois faire ça 10 ou 20 fois, je voulais faire une macro pr aller un peu plus vite.
Mais merci.
1
nvaros Messages postés 141 Date d'inscription mardi 20 mai 2008 Statut Membre Dernière intervention 6 octobre 2009 17
23 juil. 2008 à 15:36
Tu travailles dans quel domaine?
0
Utilisateur anonyme
23 juil. 2008 à 16:02
En quoi cela t'intéresse ?
Je suis dans l'industrie et j'utilise excel pr le travail
1
nvaros Messages postés 141 Date d'inscription mardi 20 mai 2008 Statut Membre Dernière intervention 6 octobre 2009 17
23 juil. 2008 à 16:16
C'est juste une question.

Si tu ne souhaites pas répondre, tu ne réponds pas.

C'était simplement pour voir l'utilité que tu en fais.
1
Utilisateur anonyme
24 juil. 2008 à 09:37
Oh ! Merci bcp lePierre.
J'ai testé et cela marche sans problème.
0
J'ai lu le probleme, j'ai exactment le meme probleme. Merci le Pierre !!!
0