renvoi de cellule(excel) en vba

renvoi de cellule(excel) en vba - VB/VBA/VBS - Programmation

Marsh Posté le 21-03-2005 à 21:48:56    

bonjour a tous :hello:  
j'ai un ptit souci sous excel et je voudrai renvoyer une cellule  
l'inverse de =feuille2!a3  car la on rentre cette formule dans la cellule de destination moi je voudrai maitre quelque chose comme sa dans la cellule d'emission si on peu dire sa  
 
je m'explique j'ai ma formule qui est comme ca :  
 
=SI(A2=1;"A";SI(A2=2;"B"; SI(A2=3;"C";SI(A2=4;"D";"F" ))))
 
la quand je tape 1 je voudrai que sa envoi une cellule ou la cellule ou est actuellement ma formule sur la feuille2!A5 par exemple et si je tape 2 sa envoie sur la feuille3!A5 etc etc pour 3 et 4.  
 
et donc on ma conseiller le vba car aucune formule ne peu faire se que je souhaite donc voila si vous pouvez maider j'en serai ravi.(je c'est pa comment marche le vba)
 
merci d'avance pour vaux reponses


Message édité par leplusnul le 22-03-2005 à 13:15:15
Reply

Marsh Posté le 21-03-2005 à 21:48:56   

Reply

Marsh Posté le 22-03-2005 à 00:51:34    

Incompréhensible!
Que veut dire "je voudrai que sa envoi une cellule"???
Il y a des fois où on peut se passer de l'orthographe mais, ici, ça aiderait 'achement.
"une cellule ou la cellule ou est actuellement ma formule".
Il y a une différence non négligeable entre ou et .
Je suis prêt à t'aider si tu fais un effort pour expliquer clairement et dans un langage compréhensible ce que tu veux.


---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
Reply

Marsh Posté le 22-03-2005 à 13:33:58    

oui dsl pour l'orth
j'ai ma cellule A2 quand je tape 1 dedans je voudrai que sa envoie le contenu d'une cellule (par exemple B2)dans une autre cellule(par exemple D2), et si je tape 2 (toujour dans A2) sa envoie (toujour B2)dans une autre cellule(par exemple D3)
 
  |  A  |  B |   C |   D  |
1|      |     |      |      |
2| 1   |3.5 |      |  3.5|
3| 2   |3.5 | 3.5 |      |
 
 
quelle que chose comme sa


Message édité par leplusnul le 22-03-2005 à 13:34:57
Reply

Marsh Posté le 22-03-2005 à 14:34:31    

ouai c vrai que le 1er coup c'était pas tres compréhensible, mais la c mieux.
je comprend tjs pas ce que tu veux, je ne vois pas le lien avec ton post precedent. ta formule avec ton "si" elle est est ou???

Reply

Marsh Posté le 22-03-2005 à 15:05:52    

enfin voila une macro qui fonctionne pour ton exemple du 2eme post:
 
Sub test()
 
Range("a2" ).Select
For i = 1 To Range("A1" ).End(xlDown).Row - 1
If ActiveCell.Value = 1 Then
    Selection.Offset(0, 1).Copy
    Selection.Offset(0, 2).Select
    ActiveSheet.Paste
    Selection.Offset(1, -2).Select
Else
    If ActiveCell.Value = 2 Then
        Selection.Offset(0, 1).Copy
        Selection.Offset(0, 3).Select
        ActiveSheet.Paste
        Selection.Offset(1, -3).Select
    Else
        If ActiveCell.Value = 3 Then
            Selection.Offset(0, 1).Copy
            Selection.Offset(0, 4).Select
            ActiveSheet.Paste
            Selection.Offset(1, -4).Select
            Else
                If ActiveCell.Value = 4 Then
                    Selection.Offset(0, 1).Copy
                    Selection.Offset(0, 5).Select
                    ActiveSheet.Paste
                    Selection.Offset(1, -5).Select
                    Else
                        Selection.Offset(0, 1).Copy
                        Selection.Offset(0, 6).Select
                        ActiveSheet.Paste
                        Selection.Offset(1, -6).Select
                End If
        End If
    End If
End If
 
ce qui donne par exemple:
 
  A        B              C       D      E       F        G
Valeur Contenu cel Si 1 Si 2 Si 3 Si 4 Si 5
1 78          78    
2 56           56    
3 7                   7  
4 58             58  
5 19                19
 
explication :  
- si tu tape 1 dans la cellule A2 alors le contenu de la cellule B2 se copie en C2
- si tu tape 2 dans la cellule A2 alors le contenu de la cellule B2 se copie en D2
 
et ainsi de suite
 
OK???

Reply

Marsh Posté le 22-03-2005 à 19:14:55    

ok super merci
 
par contre la sa marche que pour la cellule a2 mai en tout j'ai 445 ligne :pt1cable: donc de A2 jusqua A445. il faut modifier quelque chose a la macro ou il faut faire une macro pour chaque ligne?
 
et aussi si sa peu copier non pas dans une cellule mais sur une autre feuille du classeur et donc dans un cellule de cette feuille de classeur.
 
si c'est pa possible c'est pas grave mais sa m'arrangeré bien  
merci a toi porcinet82 :bounce:

Reply

Marsh Posté le 23-03-2005 à 00:28:35    

En C2, mettre la formule =SI(A2=1;B2;"" )
En D2, =SI(A2=2;B2;"" )
En E2, =SI(A2=3;B2;"" )
Etc...
 
Sélectionner de A2 à G2
Tirer la formule vers le bas jusqu'à la dernière ligne.

Reply

Marsh Posté le 23-03-2005 à 00:44:29    

merci bien AlainTech  :hello: sa m'arrange bien.
bonne nuit a tous

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed