XL 2010 If FIND Is Nothing

mmaatthh

XLDnaute Nouveau
Bonjour,

J'ai un tableau qui (A5:X15). Lorsque je sélectionne une plange dans le tableau j'aimerai que pour chaque cellule excel se demande :

si la cellule est vide et que dans la colone de la cellule active entre les ligne 5 et 15 X n'apparait pas alors la valeur de la cellule est X

J'ai dévellopé le code suivant qui ne me donne pas le résultat escompté.

Avez vous des idées pour me réenligner!

Merci à l'avance pour vos conseils


Sub Amath()

Application.ScreenUpdating = False
ActiveSheet.Unprotect

Dim acell As Object

For Each acell In Selection
Set rgFound = Range(Cells(5, ActiveCell.Column), Cells(15, ActiveCell.Column)).Find("X")
If acell = "" And rgFound Is Nothing Then
acell = "X"
End If
Next
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Application.ScreenUpdating = True

End Sub
 

mmaatthh

XLDnaute Nouveau
Bonsoir mmaatthh

Dim acell As Range et non Object, Dim Plage as range

Set Plage = [A5:X15]

For each acell In Plage
If acell = "" Then acell = "X"
Next acell


Bonsoir Lone-wolf

Merci pour ta proposition.

Quand je lance la macro, je sélection une plage qui est souvent plus petite que (A5:X15) avec la sourie et je veux que X apparaisse seulement s'il n'est pas présent dans la colone ou la cellule est vide. Le X ne doit apparaitre qu'une seule fois dans chaque colone.

En modifiant un peu mon code j'arrive au résultat souhaité. C'est probablement pas le meilleure façon d'y arriver mais ça fonctionne.

Merci encore


Sub Amath()

Application.ScreenUpdating = False
ActiveSheet.Unprotect

Dim acell As Object

For Each acell In Selection
Set rgFound = Range(Cells(5, acell.Column), Cells(15, acell.Column)).Find("X")
If acell = "" And rgFound Is Nothing Then
acell = "X"
End If
Next
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Application.ScreenUpdating = True

End Sub
 

Discussions similaires

Réponses
2
Affichages
500
Réponses
8
Affichages
475

Statistiques des forums

Discussions
312 185
Messages
2 086 009
Membres
103 089
dernier inscrit
johnjohn1969