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

Microsoft 365 Problème de VBA

ludo170967

XLDnaute Nouveau
bonjour le fil,
je viens de créer un fichier avec mes quelques connaissance en vba. mais malheureusement à la fin de la réalisation de mon code ça ne fonctionne pas. le code bloque lorsque je clic sur valider.
Pouvez-vous m'aider
Merci
 

ludo170967

XLDnaute Nouveau
re bonjour,
oui effectivement je me suis trompé de fichier. j'ai change mon code par celui de Staple que je remercie.
mais j'ai toujours le problème avec le code de validation
Merci pour votre aide
Ludo
 

Pièces jointes

  • essai.xlsm
    23.5 KB · Affichages: 1

Staple1600

XLDnaute Barbatruc
Re

test OK avec celui-ci
VB:
Sub valider()
Dim DL&, adr, i&
adrs = Split("B14 B11 B17 E11 E14 E17")
DL = Sheets("Base de données").Cells(Rows.Count, 1).End(3).Row
For i = 0 To UBound(adrs)
Sheets("Base de données").Cells(DL + 1, i + 1).Value = Sheets("saisie").Range(adrs(i)).Value
Next
End Sub
NB: Remplacer le code existant par celui-ci.
 

ludo170967

XLDnaute Nouveau
re,
merci beaucoup pour le code. ou puis-je mettre la ligne call effacer dans le code pour que lorsque la validation est faite les cellules b11,b14,b17, e11, e14 et e17 s'effacent automatiquement.
merci
ludo
 

Staple1600

XLDnaute Barbatruc
Re

Sur le fichier initial, il y avait un bouton Effacer
Il suffit donc de supprimer la macro effacer initiale puis de mettre celle du message#3, et d'affecter ensuite cette macro au bouton Effacer, non ?
 

Staple1600

XLDnaute Barbatruc
Ou alors

Deux en une avec cette nouvelle version de valider
VB:
Sub valider()
Dim DL&, adr, i&
adrs = Split("B14 B11 B17 E11 E14 E17")
DL = Sheets("Base de données").Cells(Rows.Count, 1).End(3).Row
For i = 0 To UBound(adrs)
Sheets("Base de données").Cells(DL + 1, i + 1).Value = Sheets("saisie").Range(adrs(i)).Value
Next
Sheets("saisie").Range("B11,B14,B17,E11,E14,E17") = ""
End Sub
 

Discussions similaires

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