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

Cellulé protégé avec un nombre maximum de caractère (VBA)

phandil

XLDnaute Nouveau
Bonjour,

je voudrai votre aide pour la création d'une macro.

Mon problème est le suivant: je dois envoyer un fichier à compléter à un client, j'utilise "validation des données" afin de protéger lors de l'écriture ma cellule (max: 30 caractères) hors je me suis rendu compte qu'un bête copier/coller faisait sauter cette protection.

après des recherches il s'avère que j'ai besoin d'une macro pour protéger efficacement ma cellule.

Donc je voudrais une macro qui:

- lors d'un "coller" venant d'une feuille ou d'un programme extérieur vérifie que le nombre de caractère ne dépasse pas les 30
- Si cela dépasse:
1) Apparition d'un message d'avertissement)
2) curseur revenu au début de la cellule qui reste vide

j'ai commencé le code mais je n'arrive pas à le finir

Code:
Sub Macro1() 
Dim i As Integer 

Range("D4").Select 
CnLen = Len(ActiveCell) 
For i = 4 To 50 
If Len(ActiveCell.Text) > 30 Then 
MsgBox ">30 caractères"
End If 
Next i 
End Sub

merci d'avance
 
G

Guest

Guest
Re : Cellulé protégé avec un nombre maximum de caractère (VBA)

Bonjour,

Dans le module de la feuille de la cellule (click-droit sur l'onglet de la feuille puis 'visualiser le code') tester ces lignes de code:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "D4" And Not IsEmpty(Target) Then
    If Len(Target.Text) > 30 Then MsgBox "trop long"
End If
End Sub

A+
 

Papou-net

XLDnaute Barbatruc
Re : Cellulé protégé avec un nombre maximum de caractère (VBA)

Bonjour phandil, et bienvenue,

Ci-joint un fichier exemple avec macro événementielle qui se déclkenche lors de la modification d'une cellule.

Dans ce cas, j'ai nommé "Plage" la zone de cellules D1:20. Si une cellule est modifiée en dehors de ctte plage, la macro reste inactive. A toi donc d'adapter cette plage.

Cordialement.

Oups collision : salut Hasco, c'est un plaisir de te croiser.
 

Pièces jointes

  • Exemple phandil.xls
    36.5 KB · Affichages: 73

phandil

XLDnaute Nouveau
Re : Cellulé protégé avec un nombre maximum de caractère (VBA)

Super ! Merci Papou-net !

C'est exactement ce que je recherche

Dernière petite question: afin de limiter le risque d'erreur j'ai crée une liste déroulante dans une cellule.

Hors là aussi le copier-coller fonctionne: comment limiter l'utilisateur avec les possibilités de la liste uniquement

exemple liste en A1 regroupant 5 items (appel de la liste via "validation des données)

merci de vos réponses rapide en tout cas!
 

Papou-net

XLDnaute Barbatruc
Re : Cellulé protégé avec un nombre maximum de caractère (VBA)

Bonjour phandil,

Le plus simple serait que tu joignes ton fichier en exemple (ou une copie édulcorée de celui-ci), ne crois-tu pas ?

A +

Cordialement.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…