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

chris2844 Messages postés 1 Date d'inscription samedi 10 octobre 2009 Statut Membre Dernière intervention 10 octobre 2009 - 10 oct. 2009 à 12:04
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 - 11 oct. 2009 à 16:46
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

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
10 oct. 2009 à 17:03
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)
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
11 oct. 2009 à 16:46
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.
0
Rejoignez-nous