formulaire pour base de données

  • Initiateur de la discussion Initiateur de la discussion papymira
  • Date de début Date de début

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 !

P

papymira

Guest
bonjour,
je suis débutant... je souhaite utiliser cette macro qui correspond bien à mon besoin... trouvée sur le net elle ne tourne pas ! qui pourrait m'aider à la débugger ?
merci d'avance
 

Pièces jointes

  • 72409.gif
    72409.gif
    26.4 KB · Affichages: 208
Re : formulaire pour base de données

OK, autant pour moi...voici la macro :

Sub transpose_dans_tableau()
'atteindre le formulaire et mémoriser les données
Sheets("Formulaire").Select
Range("B1:B4").Select
Selection.Copy
'test pour déterminer la ligne où coller les infos dans le tableau
Sheets("Base de données").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
'mémorise 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:=xlPasteAllExceptBorders, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=True
'rendre vierge le formulaire
Sheets("Formulaire").Select
Range("B1:B4").Select
Selection.ClearContents
Range("B1").Select
'retourner dans le tableau
Sheets("Base de données").Select
Range("A1").Select
End Sub


merci de passer du temps pour moi !:
 
Re : formulaire pour base de données

Bonjour à tous

Une seule erreur dans l'exécution de la macro dans la ligne 18 :

ligne -active_base = ActiveCell.Row


Correction:

ligne_active_base = ActiveCell.Row

Après correction la macro fonctionne bien (Du moins ce que je crois)....
 
Re : formulaire pour base de données

Bonjour Jean-Marcel

Effectivement le code que tu propose est plus efficace et plus rapide... J'ai dû faire quelques rectifications sur le code afin qu'il fonctionne correctement.
Le sheet "Base De Données" au lieu de "BaseDeDonnées" ou invesement en renommant le nom dans le classeur... Et la ligne :

Sheets("BaseDeDonnées").Range(AdresseDeRéception).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:= True

au lieu de la ligne:

Sheets("BaseDeDonnées").Range(Adresse).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:= False

Et encore merci pour ce code....

bonjour hbenalia
Mais quand j'ai vu la macro j'ai préféré en écrire une autre : plus rapide , plus concise ; plus conforme avec du VBA standard !!
salut
 
Dernière édition:
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
702
  • Question Question
Microsoft 365 Formulaire
Réponses
2
Affichages
234
Réponses
6
Affichages
569
Réponses
2
Affichages
170
Réponses
10
Affichages
587
Réponses
15
Affichages
858
Retour