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.
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.
-->Message édité par willyplaisir le 11/11/2008 18:22:06<--
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.
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
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.
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".