Rechercher : dans
Par :

Pb VBA Excel - tirer une formule

Dernière réponse le 24 jui 2008 à 09:37:41 Carox, le 23 jui 2008 à 14:25:04 
 Signaler ce message aux modérateurs

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

Configuration: Windows XP
Internet Explorer 6.0

1

nvaros, le 23 jui 2008 à 14:32:33

Je ne comprends pas ta requête

Répondre à nvaros

2

LePierre, le 23 jui 2008 à 14:36:35

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

Répondre à LePierre

3

Carox, le 23 jui 2008 à 14:40:34

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

Répondre à Carox

5

nvaros, le 23 jui 2008 à 14:42:44

Utilise l'enregistreur de macro

Répondre à nvaros

4

nvaros, le 23 jui 2008 à 14:41:46

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?

Répondre à nvaros

6

Carox, le 23 jui 2008 à 14:46:07

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.

Répondre à Carox

7

nvaros, le 23 jui 2008 à 14:48:22

Comme je t'ai dit, utilise l'enregistreur de macro, il est très utile

Répondre à nvaros

8

Carox, le 23 jui 2008 à 14:53:15

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.

Répondre à Carox

9

nvaros, le 23 jui 2008 à 15:04: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

Répondre à nvaros

10

Carox, le 23 jui 2008 à 15:05:47

C'est ça, mais par une macro.

Répondre à Carox

11

nvaros, le 23 jui 2008 à 15:07:29

Tu peux le faire avec l'enregistreur de macro

Répondre à nvaros

12

nvaros, le 23 jui 2008 à 15:09:22

A quoi correspond ta cellule C1

Répondre à nvaros

13

Carox, le 23 jui 2008 à 15:15:16

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

Répondre à Carox

14

nvaros, le 23 jui 2008 à 15:16:31

Reflechis logemment avant de poser une question car toute seule tu peux aller loin mais il faut avoir de la volonté

Répondre à nvaros

15

Carox, le 23 jui 2008 à 15:18:13

Mais vous m'avez inconsciemment aidé avec vos suggestions, ça m'a fait réfléchir et voilà.

Répondre à Carox

16

nvaros, le 23 jui 2008 à 15:19:13

C'est bien.

Je te souhaite de reussir ta requête.

Répondre à nvaros

17

nvaros, le 23 jui 2008 à 15:21:02

Juste une petite question Carox.

Pourquoi fais-tu cela?

Pour le travail ou non.

Répondre à nvaros

18

Carox, le 23 jui 2008 à 15:24:56

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.

Répondre à Carox

19

nvaros, le 23 jui 2008 à 15:36:15

Tu travailles dans quel domaine?

Répondre à nvaros

20

Carox, le 23 jui 2008 à 16:02:33

En quoi cela t'intéresse ?
Je suis dans l'industrie et j'utilise excel pr le travail

Répondre à Carox

21

nvaros, le 23 jui 2008 à 16:16:49

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.

Répondre à nvaros

22

LePierre, le 23 jui 2008 à 20:42:33

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

Répondre à LePierre
Collection CommentÇaMarche.net