LE NEWSMAGAZINE Nº1 DES NOUVELLES TECHNOLOGIES
23 utilisateurs connectés

macro excel

cdo le 11 novembre 2008 à 17h45
Bonjour, devant répéter souvent les mêmes ecritures dans excel, je me suis essayé pour la première fois aux macros, mais je ne parviens pas à résoudre le probleme suivant et à créer ainsi une macro utile. Quand j'écris par exemple un "f" dans une cellule, je voudrais que dans la cellule de la colonne suivante s'affiche automatiquement le nombre "50". Or, cela ne fonctionne que dans la cellules à partir de laquelle j'ai créé la macro. Comment faire pour cela se reproduise dans n'importe quelle cellule de ma feuille quand je demande la macro à partir de cette cellule?

J'espère avoir été à peu près clair. Merci de votre aide.
willyplaisir le 11 novembre 2008 à 18h20
bonjour,

affiche nous ta macro, et on t'aidera. (Alt F11) copier coller ici.
1)je pense qu'il faudra remplacer ta cellule fixe par with activecells
cette methode t'oblige à cliquer à chaque fois sur le bouton de ta macro pour effectuer l'ecriture de 50.

2ème solution, on pourra t'ecrire une macro evenement, dès que tu entreras la lettre F, excel te mettra automatiquement le chiffre 50 dans la colonne d'à côté.
laisse nous le temps de te faire cela. :salut:


-->Message édité par willyplaisir le 11/11/2008 18:22:06<--
cdo le 11 novembre 2008 à 18h30
Bonjour, merci de t'intéresser à mon problème.

Ci-dessous, ma macro :

fibro Macro
' Macro enregistrée le 11/11/2008 par CDO
'
' Touche de raccourci du clavier: Ctrl+f
'
ActiveCell.FormulaR1C1 = "fibro"
Range("F470").Select
ActiveCell.FormulaR1C1 = "50"
Range("B471").Select
End Sub



willyplaisir a écrit :
bonjour,

affiche nous ta macro, et on t'aidera. (Alt F11) copier coller ici.
1)je pense qu'il faudra remplacer ta cellule fixe par with activecells
cette methode t'oblige à cliquer à chaque fois sur le bouton de ta macro pour effectuer l'ecriture de 50.

2ème solution, on pourra t'ecrire une macro evenement, dès que tu entreras la lettre F, excel te mettra automatiquement le chiffre 50 dans la colonne d'à côté.
laisse nous le temps de te faire cela. :salut:



willyplaisir le 11 novembre 2008 à 19h17

2)methode automatique:
ici on rentre la lette f ou F majuscule pour obtenir 50 dans la cellule d'à coté.

cas où :
dans menu/option/onglet modification
La case deplacerla selection après validation: est decochée

copie la macro dans la feuille correspondante à ton classeur (Alt F11)

Private Sub Worksheet_Change(ByVal Target As Range)
With ActiveCell
If ActiveCell.Text = "f" or ActiveCell.Text = "F" Then Cells(ActiveCell.Row, ActiveCell.Column + 1) = 50
End With
End Sub


-------------------------
cas où :
dans menu/option/onglet modification
La case deplacerla selection après validation: est cochée

Private Sub Worksheet_Change(ByVal Target As Range)
With ActiveCell
If Cells(ActiveCell.Row - 1, ActiveCell.Column).Text = "f" or Cells(ActiveCell.Row - 1, ActiveCell.Column).Text = "F" Then Cells(ActiveCell.Row - 1, ActiveCell.Column + 1) = 50
End With
End Sub

----------------
willyplaisir le 11 novembre 2008 à 19h21
Sub fibro ()

With ActiveCell
If ActiveCell.Text = "fibro" or ActiveCell.Text = "FIBRO" Then Cells(ActiveCell.Row, ActiveCell.Column + 1) = 50
End With

End sub
:salut:
-->Message édité par willyplaisir le 11/11/2008 19:24:49<--
Gorfael le 11 novembre 2008 à 23h07
willyplaisir a écrit :
Sub fibro ()

With ActiveCell
If ActiveCell.Text = "fibro" or ActiveCell.Text = "FIBRO" Then Cells(ActiveCell.Row, ActiveCell.Column + 1) = 50
End With

End sub
:salut:
salut
la même en plus feignant :
With ActiveCell
If ucase(.value)="FIBRO" Then .offset(0,1)= 50
End With

A+
-->Message édité par Gorfael le 11/11/2008 23:09:17<--
-------
Plus tu es moins précis, moins les réponses sont plus adaptées!
La qualité et la précision de la réponse sont proportionnelles à celles de la question, et la conditionne.
cdo le 12 novembre 2008 à 21h28
Merci à tous pour votre aide. J'ai également trouvé en tatonnant une autre solution. Pour que la macro que j'enregistre avec l'outil d'excel se positionne sur n'importe quelle cellule et non sur la cellule de creation de la macro, il faut enfoncer le bouton juste à droite du bouton "arrêt de l'enregistrement de la macro".
willyplaisir le 13 novembre 2008 à 10h23
bonjour CDO,
bravo! tu as trouvé l'astuce du Relatif et non de l'absolu.
nos formules servent aussi à d'autres personnes.


À PROPOS DU FORUM MICRO HEBDO

LES FORUMS THÉMATIQUES ET TECHNIQUES

LES FORUMS GÉNÉRAUX

ARCHIVES DU FORUM

publicité
01Informatique
01 INFORMATIQUE
L'hebdo de référence des décideurs informatiques.
Micro Hebdo
MICRO HEBDO
L'hebdo qui vous simplifie la micro
et Internet.
L'Ordinateur Individuel
L'ORDINATEUR INDIVIDUEL
Le mensuel informatique qui vous informe et vous conseille.
Nous contacter  |  Charte de confiance  |  Voir notice légale

01net.  -  01men  -  RMC  -  BFM Radio  -  BFM TV  -  TousLesPodcasts  -  01informatique.fr  -  Association RMC-BFM
Tous droits réservés © 1999 - 2009 Groupe 01 - 01net.