Macro enregistrée mais non utilisable

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 !

La Pistoule

XLDnaute Nouveau
Bonjour a tous,
Devant reproduire en VBA une action sur plusieurs cellules, j'ai effectué par enregistrement de macros (sub macro3 ci dessous) le déroulé de l'action souhaitée qui fonctionne parfaitement...
Par contre quand je la relance, elle plante avec une erreur sur la formule saisie : run time error 1004 application defined or object defined error...
Pour info il s'agit d'une validation de cellule avec formule intégré (qui fonctionne parfaitement en direct!)
De memoire j'ai déja eu des pbs avec les formules, car j'utilise une version américaine de Excel 2003, avec pack français, ce qui fait que j'utilise d'habitude FormulaLocal et non Formula seul, mais je ne sais pas comment proceder dans ce cas de validation.
Un grand merci pour votre aide !

Sub Macro3()
Range("G5").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:= _
"=SI(D5<>"""";DECALER(Liste_SOCIETES;EQUIV(D3&""*"";Liste_SOCIETES;0)-1;;SOMMEPROD((STXT(Liste_SOCIETES;1;NBCAR(D5))=TEXTE(D5;""0""))*1));Liste_SOCIETES)"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = False
End With
End Sub


Pour info : cette formule dans un cas de validation permet l'affichage que de la partie d'une liste longue correspondante a la saisie du début du champ, très pratique !
 
Re : Macro enregistrée mais non utilisable

Bonjour,

Essaie ceci :


Sub Macro3()
Range("G5").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, _
Formula1:= _
"=if(D5<>"""",Offset(Liste_SOCIETES,Match(D3&""*"",Liste_SOCIETES,0)-1,,sumproduct((Mid(Liste_SOCIETES,1,Len(D5))=Text(D5,""0""))*1)),Liste_SOCIETES)"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = False
End With
End Sub
 
Re : Macro enregistrée mais non utilisable

Merci MichD, mais il me semble que ta réponse est quelque peu 😡...
La seule chose que je peux envoyer c'est le contenu de la macro enregistrée ce que j'ai inclus, le reste je ne vois pas ce que je peux t'envoyer, car il s'agit de mettre une validation sur une cellule.
je suis en Excel 2003 version PRO 2003 V 11 américaine, langage Français, et je pense que c'est la que le bas blesse (enregistrement en anglais, commande en français), mais comment régler cela?

Avec cette version, je ne peux ouvrir ton fichier en xlsm...
 
Re : Macro enregistrée mais non utilisable

Merci a toi, tu m'as sauvé!!!
ccool.gif
ccool.gif

Mais bon je ne comprends pas car j'avais copié/collé tes données...
Enfin l'important c'est le résultat.
Merci de ton aide
 
- 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
16
Affichages
3 K
Réponses
3
Affichages
919
Réponses
1
Affichages
1 K
Réponses
2
Affichages
884
Réponses
6
Affichages
1 K
Retour