[Déplacé .Net --> VBA] Programme vba

Signaler
Messages postés
1
Date d'inscription
samedi 10 octobre 2009
Statut
Membre
Dernière intervention
10 octobre 2009
-
Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
-
Bonjour à tous,
je suis nouveau sur le forum et également en programmation.
Je me suis donc lancé sur Excel afin de créer une base de données pour ma compagne qui est vendeuse indépendante.
Ce que j'aimerais faire, c'est avoir une base de données sur la feuille 1 de excel et un formulaire sur la feuille 2 toujours dans le même fichier.
Je m'explique: dans ma feuille 2, j'aimerais qu'elle puisse mettre les nom de ses clients, les produits qu'ils ont achetés et d'autres renseignements.
Pour ce faire, je suis allé sur internet et j'ai trouvé comment faire un petit programme avec virtual basic mais le soucis c'est que lorsque j'execute ma macro, ca ne fonctionne pas!!
Je poste le petit programme en question et est ce que quelqu'un pourrait m'aider à trouver une solution car je ne trouve pas mon bonheur.
Voici mon petit programme:


Sub transpose_dans_tableau()

'Atteindre le formulaire et mémoriser les données
Sheets("FORMULAIRE").Select
Range("B1:B4").Select
Selection.Copy

'Test pour determiner 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

'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 formulaire
Sheets("FORMULAIRE").Select
Range("B1").Select

End Sub


L'erreur se produit sur la ligne:
Range("A1").Select
Selection.End(xlDown).Select


Je vous remercie de vos réponses

2 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
80
Salut et bienvenu.
"ça ne fonctionne pas" ne veut rien dire.
On découvre plus bas que tu parles d'une erreur : laquelle ? Quel code d'erreur, quel texte d'erreur ?
La ligne dont tu parles se présente comme ça dans ton programme :
Range("A1").Select Selection.End(xlDown).Select 

alors que plus bas, tu la présentes correctement, sur deux lignes :
Range("A1").Select 
Selection.End(xlDown).Select 

Si tu as réellement ces deux instructions sur une même ligne, c'est normal que Excel gueule.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
10
Bonjour,

Je suis en accord avec Jack.

On peut également mettre les deux lignes :
range("a1").select 
selection.end(xldown).select 

en une seule, ainsi :
Range("A1").End(xlDown).Select


Amicalement,
Us.