Création d'une macro

Fermé
Eme - 16 mai 2018 à 16:34
enilemef Messages postés 3 Date d'inscription mercredi 16 mai 2018 Statut Membre Dernière intervention 17 mai 2018 - 17 mai 2018 à 09:59
Bonjour,

Je travaille sur un document excel afin de faire de la facturation et je voudrais savoir si il est possible de faciliter cette facturation à l'aide d'une macro.

Je m'explique, mon document se compose :

- d'une première feuille qui contient la base de donnée avec les renseignements des personnes à facturer, nom, adresse ...

- d'une seconde feuille qui est ma facture mise en page et prête à imprimer, lorsque je rentre le nom d'une personne dans une cellule particulière la totalité de la facture se remplie selon la base de donnée, à l'aide de la fonction =recherchev liée à la feuille 1.

Mon idée serait de créer une macro qui ferait descendre d'une ligne à la fois la première colonne de ma première feuille et d'affecter cette macro a une forme de flèche sur ma feuille n°2.

Je ne sais pas si c'est très clair, mais lors de ma facturation je rentre la formule ='Feuille1'!A1 qui correspond au premier nom de ma liste, l'idée serait qu'en appuyant sur un "bouton" la formule devienne ='Feuille1'!A2 et ainsi de suite, tout en restant sur la feuille de facturation, pour ne pas avoir à changer de feuille à chaque fois ce qui me fait perdre un temps fou.

C'est la première fois que je pose une question ici, j'espère avoir été assez claire et que quelqu'un arrivera à résoudre mon problème.

Merci beaucoup d'avance
A voir également:

2 réponses

Kutska Messages postés 9 Date d'inscription mercredi 2 mai 2018 Statut Membre Dernière intervention 16 mai 2018 1
16 mai 2018 à 17:13
Bonjour,

Dans ta feuille 2, insert un flèche. Ensuite clic droit sur ta flèche puis "Affecter une macro...", "Nouvelle"

Puis colle ça :

Sub Descendre()

Sheets("Feuil1").Select 'Selection de la feuille 1
Rows("1:1").Select 'Selection de la ligne 1
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove 'Insertion d'une nouvelle ligne
Range("A1").Select
Sheets("Feuil2").Select 'Selection de la feuille 2

End Sub


Si un message du style : "L'indice n'appartient pas à la sélection, modifie le nom des feuilles (Feuil1, Feuil2) entre guillemets dans la macro.

J'espère que c'est bien ce que tu souhaitais ;)
1
enilemef Messages postés 3 Date d'inscription mercredi 16 mai 2018 Statut Membre Dernière intervention 17 mai 2018
16 mai 2018 à 17:30
Merci de votre réponse, je viens d'essayer mais ce n'est pas tout à fait ce dont je parlais, je pense que j'ai du mal à expliquer mon idée.

L'idée est de se placer dans la colonne 1 et de descendre de ligne simplement, la feuille 1 est remplie de données et je voudrais qu'en cliquant sur ma forme, la cellule sélectionnée sur ma première feuille descende.

En gros, que ma cellule dans la feuille 2 passe de =Feuille 1 A1 à = Feuille 1 A2 et ainsi de suite
0
Kutska Messages postés 9 Date d'inscription mercredi 2 mai 2018 Statut Membre Dernière intervention 16 mai 2018 1
16 mai 2018 à 17:49
Essaye avec ça :

Sheets("Feuil1").Select
ActiveCell.Offset(1, 0).Select
Sheets("Feuil2").Select

Par contre sélectionne bien une cellule A, car la macro sélectionne la cellule en dessous de la cellule active (la cellule sélectionnée au départ)
0
enilemef Messages postés 3 Date d'inscription mercredi 16 mai 2018 Statut Membre Dernière intervention 17 mai 2018
17 mai 2018 à 09:59
Merci pour votre aide, j'ai trouvé une solution

Sub Facture()
Dim Plage As Range, C As Range
With Sheets("BDD 2018")
Set Plage = .Range("A2", .Cells(.Rows.Count, 1).End(xlUp))
End With
With Sheets("Facture")
If .[E6] = "" Then
.[E6].Value = Plage(1, 1)
Else
Set C = Plage.Find(.[E6])
If C Is Nothing Then
MsgBox "Saisie incorrecte"
Exit Sub
End If
Set C = C.Offset(1)
If C = "" Then
MsgBox "Traitement terminé"
Exit Sub
Else
.[E6] = C.Value
End If
End If
End With
End Sub
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
16 mai 2018 à 17:43
Bonjour à tous les deux

Pas très clair, et si macro il doit y avoir, il faut connaitre la structure exacte des données
Peux tu envoyer un bout de ton fichier sur cjoint.com et joindre le lien obtenu à ton prochain message. N'oublies pas d'y ajouter des explications et des exemples de résultat attendu
1) Tu vas dans https://www.cjoint.com/
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier
3) Tu descends en bas de la page pour cliquer sur [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien
en bleu souligné ; tu le sélectionnes et tu fais "Copier"
5) Tu reviens dans ta discussion sur CCM, et dans ton message de réponse tu fais "Coller".

Cdlmnt
1