Aide sur Macro

hdzpeter

XLDnaute Nouveau
bonjour
Pourriez vous me corriger cette macro que j'ai trouvé sur le net
le but est qu'a partir de la feuille nommé formulaire (où il i y a formulaire) de saisir les info et de les ajouter dans le feuille janvier et de remetre le contenu de formulaire vierge

Private Sub Transpose_dans_tableau()

'Atteindre le formulaire et memoriser les donées'
Sheets("Formulaire").Select
Range("C1:C43").Select
Selection.Copy

'Test pour determiner la ligne où coller les infos dans le Tableau'
Sheets("Janvier").Select
valeurA7 = Range("A7").Select
If valeurA7 = "" Then
Range("A1").Select
Else
Range("A1").Select
Selection.End(x1down).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_de_base = ActiveCell.Row

'Collage avec transposition'
Range("A" & ligne_active_base).Select
Selection.PasteSpecial Paste:=xlPasteAllExceptBorder, _
Operation:=x1None, SkipBlanks:=False, Transpose:=True

'Rendre vierge le formulaire'
Sheets("Formulaire").Select
Selection.ClearContents
Range("C1").Select

'Retourner dans le tableau'
Sheets("Janvier").Select
Range("A7").Select

End Sub


LE problème est qu'à l'exécution il y a Bug à la ligne en gras
merci d'avance
 
Dernière édition:

Modeste

XLDnaute Barbatruc
Re : Aide sur Macro

Bonjour hdzpeter,

Pas regardé tout le code, mais dans la ligne en gras de ton code, remplacer le '1' de x1down par la lettre 'l' ('L') ... comme dans XLDownloads!

Edit: Salut Hasco, tu es "déchaîné", ces temps-ci!
 

hdzpeter

XLDnaute Nouveau
Re : Aide sur Macro

merci de la correction
j'ai un nouveau bug a cette ligne

'Collage avec transposition'
Range("A" & ligne_active_base).Select
Selection.PasteSpecial Paste:=xlPasteAllExceptBorder, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=True


encore merci
 
G

Guest

Guest
Re : Aide sur Macro

Re,

Même cause même effet

xlNone et non x1None (voir ton post n°1)

Sinon proposition de refonte de la macro:
Code:
Private Sub Transpose_dans_tableau()
    'Test pour determiner la ligne où coller les infos dans le Tableau'
    Sheets("Janvier").Select
 
    Ligne_active_base = Range("A1").Row
 
    If Range("A7") <> "" Then
       Ligne_active_base = Range("A1").End(xlDown).Row + 1
    End If
 
    Sheets("Formulaire").Range("C1:C43").Copy
    'Collage avec transposition'
    Range("A" & Ligne_active_base).PasteSpecial _
                Paste:=xlPasteAllExceptBorders, _
                Operation:=xlNone, _
                SkipBlanks:=False, _
                Transpose:=True
 
    'Rendre vierge le formulaire'
    Sheets("Formulaire").UsedRange.ClearContents
    Range("A7").Select 'Peut-être inutile
End Sub



A+
 
Dernière modification par un modérateur:
G

Guest

Guest
Re : Aide sur Macro

Re,

Avec quelques données à traiter et explications de ce que tu veux cela aurait été mieux.

Pourquoi le test ( If Range("A7") <> "" ) rien le l'eplique dans ton exemple.

et tu as des formules dans la feuille Janvier en colonnes AA AO AP qui seront écrasée par la copie.

Sans des explications précises, se sera ma dernière intervention.



A+
 
Dernière modification par un modérateur:

hdzpeter

XLDnaute Nouveau
Re : Aide sur Macro

Salut
Une petite précision la macro du poste1 n'est pas de mois je l'ai trouvé sur la toile, grâce a vous g me suis rendu compte que je l'avais mal copié, la voici avec les corrections en gras

Private Sub Transpose_dans_tableau()

'Atteindre le formulaire et memoriser les donées'
Sheets("Formulaire").Select
Range("C1:C43").Select
Selection.Copy

'Test pour determiner la ligne où coller les infos dans le Tableau'
Sheets("Janvier").Select
valeurA7 = Range("A7").Select
If valeurA7 = "" Then
Range("A1").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_de_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
Selection.ClearContents
Range("C1").Select

'Retourner dans le tableau'
Sheets("Janvier").Select
Range("A7").Select

End Sub


Vous remarquerez sur le fichier (feuille janvier) que la ligne est trop longue quand il faut remplir les cases , c'est pour ça que j'ai pensé a faire une formulaire (sur la feuille formulaire ) en m'inspirant de ce tuto Construisez une base de données avec Excel.

Pour les formules il y a pas problème je pourrais le déplacer

Le hic ce que que la bases commence a partir de la ligne A7
voila
 
G

Guest

Guest
Re : Aide sur Macro

Re,

Alors voici. La prochaine fois essaie de donner tout de suite un exemple avec des explications claires, qui corresponde à ce que tu as en réalité. Cela évite de travaille pour rien.

Dans ton exemple ta base commençait en ligne 3!

A+
 

liloo972

XLDnaute Nouveau
Re : Aide sur Macro

Bonsoir,

Je suis toute nouvelle sur ce forum. Je me permet de vous adresser ce message parce que je travaille depuis ce matin, sur une macro, je n'en ai jamais fais c'est ma première que je réalise grâce à l'aide de tuto etc... seulement voila... après avoir suivi toute les étapes... celle ci ne fonctionne pas... je souhaite transférer des données qui sont inscrite sur la 1ere feuille d'un classeur, sur une 3ème... qui sera ma base de données.

Je pense avoir suivi toutes les étapes mais je me retrouve un un code erreur 400...

Que dois-je faire... ?
Je dois rendre ce travail pour lundi et je suis en panique...

Quelqu'un peut m'aider ?
 

Discussions similaires

Statistiques des forums

Discussions
312 843
Messages
2 092 758
Membres
105 526
dernier inscrit
Hiro