if nom de la cellule = xx then

  • Initiateur de la discussion DJ.RUN
  • Date de début
D

DJ.RUN

Guest
Bonjour à toutes et à tous sur le forum,

je me suis permis de prendre un autre fil car je ne sait pas si le premier est tres clair .

excusez moi d'avance, je sais c'est pas bien .

je n'arrive pas à trouver le bon code pour :

si le nom de la cellule est égale à xx alors

j'ai essayé:

if cells.name = "xx" then

et

if activecell.name = "xx" then

et ça marche pas

quelqu'un (une) peut il (elle) m'aider ?

merci d'avance à toutes et à tous

dj.run
 
D

DJ.RUN

Guest
merci jacquesderyes,

mais en fait ce n'est pas sur la valeur de la cellule que je veux faire ma condition mais sur le nom que j'ai donnée à la cellule .

si ma cellule pour le nom de "xx" alors fait cela ou ceci .

merci encore

dj.run
 
A

A_Binouze_Drinker_Among_Others

Guest
bonjour

le code ci-dessous permet d'indiquer à quelle plage nommée appartient la cellule active, peut-être que cela t'aidera


Dim rng As Range
For Each definedname In ThisWorkbook.Names
On Error Resume Next
Set rng = Nothing
Set rng = definedname.RefersToRange
If Not rng Is Nothing Then
If Not Intersect(rng, ActiveCell) Is Nothing Then
MsgBox ActiveCell.Address & " is in a range named: " & definedname.Name
End If
End If
Next

cf aussi <http://xlbysteph.free.fr/aideinformatique/actionnom.htm>
 
M

Mytå

Guest
Bonjour le Forum

Une petite macro a adapter

Sub test()
Set nms = ActiveWorkbook.Names
Set wks = Worksheets(1)
For r = 1 To nms.Count
wks.Cells(r, 2).Value = nms(r).Name
wks.Cells(r, 3).Value = nms(r).RefersToRange.Address
If nms(r).Name = "test" Then b = 2
Next
End Sub

A suivre

Mytå
 
D

dj.run

Guest
merci à toi : A_Binouze_Drinker_Among_Others

je vais essayer ton code (que je ne comprend pas because i'm a big novice)

je te tiendrai au courant si ça marche et si ça marche pas je continurai à chercher mais certainement un code plus simple, si ça existe ?

merci encore

dj.run
 
M

Mytå

Guest
re le forum

Sub test()
Set nms = ActiveWorkbook.Names
Set wks = Worksheets(1)
For r = 1 To nms.Count
wks.Cells(r, 2).Value = nms(r).Name
wks.Cells(r, 3).Value = nms(r).RefersToRange.Address
If nms(r).Name = "test" Then GoTo action
Next
Exit Sub
action:
'ici ton code a traiter
End Sub


Modifier un peu tu devrais facilement adapter a ton application

Amicalement Mytå
 
D

dj.run

Guest
merci à tous et à toi Mytå pour votre aide

mais depuis tout à l'heure j'aissaye de modiffier le code de Mytå mais sans succés

je me permets de joindre mon fichier zip

j'explique ce que je veux faire :

j'ai une formule (=dep) qui ce déplace (sur la 1ère cellule de droite) (ligne 37) à chaque fois que l'on clik sur le boutton

le probleme c'est que arrivé à la fin de mon tableau il ne faut plus que cela se deplace, pour ce faire j'ai nommé la derniere cellule : "fin"

je voudrai si cela est possible que l'on test le nom de la cellule active et si le nom de cette cellule est "fin" alors la formule ne se deplace plus et on fait un copier coller valeur . par contre si la cellule active n'a pas de nom alors le deplacement ce fait .

dans l'absolu ça a l'air simple mais je n'arrive pas à l'ecrire .

merci encore à tous pour votre aide .

dj.run
 
D

dj.run

Guest
j'ai oublier le fichier zip !!o)

excusez moi c'est l'emotion lol

dj.run
 

Pièces jointes

  • banquenet.zip
    22.5 KB · Affichages: 20
  • banquenet.zip
    22.5 KB · Affichages: 13
  • banquenet.zip
    22.5 KB · Affichages: 20
M

Mytå

Guest
re le forum

dj.run j'iarais plutot avec une cellule cacher comme ceci

Sub copier()
If Range("O37") = "fin" Then Exit Sub
'recherche la cellule contenant la formule =dep
Cells.Find(What:="=dep", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False).Activate
'si le nom de la cellule est "fin" alors
If ActiveCell.Address = "$N$37" Then
'copie la valeur de la cellule sur elle meme
ActiveCell.Offset(0, 0) = ActiveCell.Value
Range("O37") = "fin"
Range("O37").Font.ColorIndex = 2
'sinon
Else
'copie la formule de la cellule sur la 1ere cellule a droite
ActiveCell.Offset(0, 1) = ActiveCell.Formula
'copie la valeur de la cellule sur elle meme
ActiveCell.Offset(0, 0) = ActiveCell.Value
End If
End Sub

A suivre

Mytå
 
D

dj.run

Guest
Mytå, un grand bravo !

you'r the best !!

je ne connaissais pas les cellules cachées . je pense que je vais approfondir dans ce sens car c'est super !

et dire que je me prends et je vous prends la tête avec ce probleme depuis plus d'une semaine .

fallait il le savoir.

un grand merci à toi Mytå et à tous ce qui m'ont aidé .

dj.run
 

Discussions similaires

Réponses
4
Affichages
166
Réponses
24
Affichages
1 K
Réponses
2
Affichages
392

Statistiques des forums

Discussions
312 193
Messages
2 086 062
Membres
103 110
dernier inscrit
Privé