Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Code VB au démarrage test plage s tel valeur mettre cette valeur....

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

CyberNeo99

XLDnaute Occasionnel
Bonjour à tous,


Je fais un autre essais mais cette fois avec plus de précision dans l'énoncé car je n'avais pas pensé à certaine chose auparavant.

J'aimerais qu'au démarrage du classeur Excel il puisse faire le test sur une plage dans une feuille en particulier. La liste sur lequel le test doit se faire est la feuille 2 dans le fichier ci-joint. La colonne A renferme la liste sur lequel le test doit être fait et s'il rencontre la valeur 123 il doit mettre dans la colonne B la valeur TOTO. Dans la colonne B c'est une liste déroulante alors il doit enlever la liste déroulante pour ainsi mettre la valeur TOTO. Une fois la valeur TOTO mis il faut verrouiller la cellule. Un mot de passe sera mis sur la feuille pour ainsi interdir de changer la valeur. Au départ les cellules de cette colonne ne seront pas verrouiller bien sûr.

J'ai mis la protection sur la feuille 2 en prenant soin de ne pas verrouiller les cellules 2 à 50 de la colonne B.

Gros Merci à l'avance


Neo
 

Pièces jointes

Re : Code VB au démarrage test plage s tel valeur mettre cette valeur....

Ce code à adapter :
Code:
Option Explicit
Private Sub Workbook_Open()
    Dim Trouve
    With ActiveSheet
        .Unprotect
        Set Trouve = .Columns("A:A").Find(What:="123", LookIn:=xlValues)
        If Trouve Is Nothing Then Exit Sub
        Range(.Columns("A:A").Find(What:="123", LookIn:=xlValues).Address).Offset(0, 1).Value = "TOTO"
'       .Protect...
    End With
End Sub

Un mot de passe sera mis sur la feuille
En réalité, il y est déjà... mais je m'en suis tiré : le fichier joint sans protection😉
 

Pièces jointes

Re : Code VB au démarrage test plage s tel valeur mettre cette valeur....

Bonjour Bond,

Merci pour ton aide. Ton code est en très bonne voie. Je l,ai modifié un peu pour que le code ne s'applique qu'à la feuille 2. Il me manque la partie une fois le mot TOTO mis dans la colonne B lorsqu'il rencontre 123 dans la colonne A est de verrouiller cette cellule... si cela est possible..... Je ne connaît pas le code car je ne suis pas programmeur mais je vais regardé de mon côté si je peux trouver ce code. Si tu l'as beaucoup plus rapide...

Je te joint le fichier où j'ai modifié le code quelque peu mais très peu en fait juste pour orienté la modification sur une feuille.

Gros merci encore


Neo
 

Pièces jointes

Re : Code VB au démarrage test plage s tel valeur mettre cette valeur....

Bonjour Bond,

J'ai trouvé après tatonnement. J'avais un code qui verouillais mais j'ai trouvé la façon avec le code existant et le bout de code qui verrouille.

En fichier joint.

Neo
 

Pièces jointes

Re : Code VB au démarrage test plage s tel valeur mettre cette valeur....

MàJ avec verrouillage de la cellule et protection de la feuille intégrée :
Code:
Option Explicit
Private Sub Workbook_Open()
    Dim Trouve
    With Sheets("Feuil2")
    .Select
    .Unprotect Password:="TOTO"
    Set Trouve = .Columns("A:A").Find(What:="123", LookIn:=xlValues)
        If Trouve Is Nothing Then Exit Sub
        With Range(.Columns("A:A").Find(What:="123", LookIn:=xlValues).Address).Offset(0, 1)
            .Value = "TOTO"
            .Locked = True
            .FormulaHidden = False
        End With
        .Protect Password:="TOTO"
    End With
End Sub
A te lire...
 
Re : Code VB au démarrage test plage s tel valeur mettre cette valeur....

Bonjour à tous,

Par rapport à ce sujet j'ai une autre petite demande car est-il possible qu'il puisse faire le code en boucle.... Je m'explique, par exemple je recherche un numéro de téléphone commençant par 514567 sans les derniers chiffres, il est possible que dans la liste où doit faire la recherche il y est en plus de 1 commençant par 514567 car les derniers sont différents. Dans le code il ne fait la recehrche qu'une seule fois, serait-il possible qu'il puisse faire la recherche en boucle tant qu'il n'a pas fini la liste dans lequel il fait la redcherche... ?? Je suis sûr que cela se fait il suffit de faire une boucle mais puisque je ne suis pas programmeur....


Gros Merci à l'avance


Neo
 
Re : Code VB au démarrage test plage s tel valeur mettre cette valeur....

Bonjour à tous,

Je joint un fichier pour ainsi mieux illustré ce que je recherche. En fait les 3 premiers No dans la liste je voudrais qu'il puisse mettre Toto car le No débute par 514123 mais avec une fin différente.

Merci encore

Neo
 

Pièces jointes

Re : Code VB au démarrage test plage s tel valeur mettre cette valeur....

Bonjour à tous,


Merci à tous pour votre aide qui est si précieuse.

Je vois que personne n'a répondu au message précédent pour y mettre une boucle pour que la recherhce puisse se faire sur la liste entière et qu'il ne s'arrête pas qu'au premier élément trouver....

Si quelqu'un peut me donner le code cela serait très très apprécier.


Merci à l'avance


Neo
 
Re : Code VB au démarrage test plage s tel valeur mettre cette valeur....

Bonjour,

Je vois que personne n'a répondu au message précédent pour y mettre une boucle pour que la recherhce puisse se faire sur la liste entière et qu'il ne s'arrête pas qu'au premier élément trouver....
Bah... tu nas même pas répondu à celui qui à pris la peine de te faire une proposition....

bon après midi
@+
 
Re : Code VB au démarrage test plage s tel valeur mettre cette valeur....

Bonjour Pierrot93,


Effectivement tu as bien raison, merci de me ramener à l'ordre je n'avais pas remarquer. Sincèrement désolé je mérite une correction. Je suis quelque peu débordé. ce qui n'est as une raison en soit mais une explication car l'habitude je répond toujours, en regardant les autres discussion vous pourrez le constatez.

Bond, merci pour ton code et il fonctionne très bien Gros merci il ne reste qu'à appliquer le code en boucle car il ne fait que l'opération une seule fois et j'aimerais que s'il trouve plusieurs fois l'élément en question il puisse faire la même opération.....


Gros merci encore à tous ceux qui viennent à mon aide.


Neo
 
Re : Code VB au démarrage test plage s tel valeur mettre cette valeur....

Re, bonjour 00 🙂

je te donnerais une piste, regarde dans l'aide vba l'argument "LookAt" du "find", en y associant la valeur "xlPart" tu pourras faire une recherche sur un partiel du contenu de la cellule... la méthode "findnext" associée à la méthode "find", te permettra de faire ta boucle... l'aide vba est très souvent utile...
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
12
Affichages
1 K
Réponses
4
Affichages
802
D
Réponses
9
Affichages
2 K
D
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…