Macro exel formulaire base de donnée
Utilisateur anonyme
-
pilas31 Messages postés 1878 Statut Contributeur -
pilas31 Messages postés 1878 Statut Contributeur -
Bonjour,
je viens de créer une base de donnée exel et je veux utiliser un formulaire .Pour cela j'ai trouver le code suivant qui récupère des données dans formulaire(page 2) et les retranscrit dans la base de donnée(page 1):
Sub transpose_dans_tableau()
'Atteindre le formulaire et mémoriser les données
Sheets("formulaire").Select
Range("B1:B3").Select
Selection.Copy
'Test pour déterminer la ligne où coller les infos dans le tableau
Sheets("base de donnée").Select
valeurA2 = Range("A2").Value
If valeurA2 = "" Then
Range("A2").Select
Else
Range("A1").Select
Selection.End(xlDown).Select
ligne_active_base = ActiveCell.Row
Range("A" & ligne_active_base + 1).Select
End If
'Memorise le n° de la ligne où coller les données
ligne_active_base = ActiveCell.Row
'Collage avec transposition
Range("A" & ligne_active_base).Select
Selection.PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, Skipblanks:=False, Transpose:=True
'Rendre vierge le formulaire
Sheets("formulaire").Select
Range("B1:B3").Select
Selection.ClearContents
Range("B1").Select
'Retourner dans le tableau
Sheets("base de donnée").Select
Range("A1").Select
End Sub
Le problème vient des ligne en gras.
Quand je clique sur le bouton il m'affiche erreur 400
merci pour votre aide.
cordialement,
Bibu06
je viens de créer une base de donnée exel et je veux utiliser un formulaire .Pour cela j'ai trouver le code suivant qui récupère des données dans formulaire(page 2) et les retranscrit dans la base de donnée(page 1):
Sub transpose_dans_tableau()
'Atteindre le formulaire et mémoriser les données
Sheets("formulaire").Select
Range("B1:B3").Select
Selection.Copy
'Test pour déterminer la ligne où coller les infos dans le tableau
Sheets("base de donnée").Select
valeurA2 = Range("A2").Value
If valeurA2 = "" Then
Range("A2").Select
Else
Range("A1").Select
Selection.End(xlDown).Select
ligne_active_base = ActiveCell.Row
Range("A" & ligne_active_base + 1).Select
End If
'Memorise le n° de la ligne où coller les données
ligne_active_base = ActiveCell.Row
'Collage avec transposition
Range("A" & ligne_active_base).Select
Selection.PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, Skipblanks:=False, Transpose:=True
'Rendre vierge le formulaire
Sheets("formulaire").Select
Range("B1:B3").Select
Selection.ClearContents
Range("B1").Select
'Retourner dans le tableau
Sheets("base de donnée").Select
Range("A1").Select
End Sub
Le problème vient des ligne en gras.
Quand je clique sur le bouton il m'affiche erreur 400
merci pour votre aide.
cordialement,
Bibu06
A voir également:
- Macro exel formulaire base de donnée
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Base de registre - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Formulaire de reclamation instagram - Guide
2 réponses
Bonjour,
hébé! je ne sais où tu as trouvé cette macro mais essaies celle-ci en remplacant 2 par "formulaire" et 1 "par base de données" (au passage: évite les espaces dans les noms d'onglet)
hébé! je ne sais où tu as trouvé cette macro mais essaies celle-ci en remplacant 2 par "formulaire" et 1 "par base de données" (au passage: évite les espaces dans les noms d'onglet)
Sub remplir_bdd()
Dim ligvide As Long
With Sheets(1)
ligvide = .Range("A65536").End(3).Row + 1
.Range(.Cells(ligvide, 1), .Cells(ligvide + 2, 1)) = Sheets(2).Range("B1:B3").Value
.Activate
End With
Sheets(2).Range("B1:B3").ClearContents
End Sub
Bonjour,
Cette macro fonctionne chez moi.
Je pense que la seule possibilité de générer une erreur 400 vient du fait que c'est une macro de feuille et non pas une macro dans un module.
Pour vérifier aller dans l'éditeur VBA (Alt F11) et regarder si cette macro est attachée à une feuille ou pas.
Si c'est le cas créer un module (insertion module) et couper coller la macro dans ce nouveau module.
Cela doit résoudre le problème.
A+
EDIT : oui je viens de voir le post de michel_m. Je suis d'accord, cette macro traine sur le forum depuis un moment mais elle n'est vraiment pas trés jolie !!!
Cette macro fonctionne chez moi.
Je pense que la seule possibilité de générer une erreur 400 vient du fait que c'est une macro de feuille et non pas une macro dans un module.
Pour vérifier aller dans l'éditeur VBA (Alt F11) et regarder si cette macro est attachée à une feuille ou pas.
Si c'est le cas créer un module (insertion module) et couper coller la macro dans ce nouveau module.
Cela doit résoudre le problème.
A+
EDIT : oui je viens de voir le post de michel_m. Je suis d'accord, cette macro traine sur le forum depuis un moment mais elle n'est vraiment pas trés jolie !!!