Deux petits problèmes

cotcot

XLDnaute Junior
Bonjours à toutes et à tous !

J'espère que votre journée ce déroule bien ! J'ai une petite question à poser avant d'aller nous restaurer !

Voila je cherche à faire deux choses :

Premièrement, j'aimerais améliorer la macro que j'ai créé:
Code:
Private Sub CommandButton2_Click()
Dim x As Variant
Sheets("Acompte N° XX").Visible = True
Sheets("Acompte N° XX").Select

x = InputBox("Quel est le numéro d'acompte? ( Ne doit pas dépasser 31 caractères, espaces compris)", "N° d'acompte")

If x <> "" Or x = 1 Then
Sheets("Acompte N° XX").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = "Acompte N°" + x
Sheets("Acompte N° XX").Visible = False

ElseIf x = 0 Or x = "" Then
Sheets("Acompte N° XX").Visible = False

End If
End Sub

Grâce à elle, je crée des onglets avec le numéro spécifié. Je souhaiterais en fait empécher la répétition du numéro. En effet, lorsque deux états d'acompte ont le même numéro, et bien une erreur apparait (normal...) et j'aimerais donc empécher cette erreur (afficher un msgbox et dire que ça va pas !). =>OK

Ensuite via l'exemple que j'ai posté, je souhaiterais faire plusieures choses:
- Je souhaiterais modifier le nom de la cellule contenant "ETAT D'ACOMPTE N°XX (200X)" avec l'année (pas trop dure) et avec le numéro inscrit lors de la création de l'onglet (j'ai essayé, essayé... et j'ai pas réussi :s ). => OK

- Enfin, si cela est possible (mais j'en doute), je souhaiterais créer un "report" des informations inscrites dans le tableau "Mandatements précédents" dans les futurs onglets créés (en fait, j'aimerais que l'utilisateur voit les mandats précédemment enregistré).

Voila j'espère que quelqu'un pourra m'aider ! Je vous remercie par avance de l'intérêt que vous porterez à ce poste (et m'excuse d'ores et déjà pour les nombreuses fautes présentes :( ) et de l'aide que vous pourrez m'apporter !

Merci à tous et bon appétit :)
 

Pièces jointes

  • fichier test.zip
    36.7 KB · Affichages: 38
  • fichier test.zip
    36.7 KB · Affichages: 32
  • fichier test.zip
    36.7 KB · Affichages: 34
Dernière édition:

Efgé

XLDnaute Barbatruc
Re : Deux petits problèmes

Bonjour cotcot,
Je n'ai pas pu ouvrir votre exemple (l'archive est vide ), mais pour la première question (vérifier la prèsence de la feuille),je propose ceci

Code:
Private Sub CommandButton2_Click()
Dim x As Variant
Dim f As Worksheet
Sheets("Acompte N° XX").Visible = True
x = InputBox("Quel est le numéro d'acompte? ( Ne doit pas dépasser 31 caractères, espaces compris)", "N° d'acompte")
If x <> "" Or x <> 0 Then
    For Each f In ThisWorkbook.Worksheets
        If f.Name = "Acompte N°" & x Then
            MsgBox "Ca va pas !"
            Exit Sub
        End If
    Next f
 
    Sheets("Acompte N° XX").Copy After:=Sheets(Sheets.Count)
    Sheets(Sheets.Count).Name = "Acompte N°" & x
End If
Sheets("Acompte N° XX").Visible = False
End Sub
Cordialement
 

Efgé

XLDnaute Barbatruc
Re : Deux petits problèmes

Bonjour
Pour le nom du bordereau je propose d'ajouter une ligne à mon précédent code:
Code:
Private Sub CommandButton2_Click()
Dim x As Variant
Dim f As Worksheet
Sheets("Acompte N° XX").Visible = True
x = InputBox("Quel est le numéro d'acompte? ( Ne doit pas dépasser 31 caractères, espaces compris)", "N° d'acompte")
If x <> "" Or x <> 0 Then
    For Each f In ThisWorkbook.Worksheets
        If f.Name = "Acompte N°" & x Then
            MsgBox "Ca va pas !"
            Exit Sub
        End If
    Next f
 
    Sheets("Acompte N° XX").Copy After:=Sheets(Sheets.Count)
    Sheets(Sheets.Count).Name = "Acompte N°" & x
End If
Sheets("Acompte N° XX").Visible = False
[COLOR=seagreen][B]Sheets("Acompte N°" & x).Range("B20").Value = "ETAT D'ACOMPTE N°" & x & " (" & Format(Date, "yyyy") & ")"[/B][/COLOR]
End Sub
Pour créer un report, je ne comprend pas la demande.
Pouvez vous poster un exemple "fait à la main".
Cordialement
 

cotcot

XLDnaute Junior
Re : Deux petits problèmes

Voila un exemple.

En fait j'aimerais que le montant de la facture (A, B ...) se report dans le tableau "Mandatement précedent" ce qui me permettra de définir le cumul dans le tableau d'enregistrement de la facture.

A chaque création d'un état d'acompte, et bien j'aimerais que dans ce tableau apparaisse les factures précédentes.

Mais je ne sais pas si cela est possible :S
 

Pièces jointes

  • fichier test-1.zip
    44 KB · Affichages: 29

Efgé

XLDnaute Barbatruc
Re : Deux petits problèmes

Re
Votre exemple n'ammène pas grand chose...
Ce qu'il faudrait c'est un exemple du tableau d'archivage.
Ensuite on pourrait réfléchir à des inputbox pour saisir le montant et le copier dans le tableau (avec le numéro du brdereau et la date par exemple).
Pourriez vous mettre une version qui prend en compte les modifications déja proposées ?
A vous relire
Cordialement
 

cotcot

XLDnaute Junior
Re : Deux petits problèmes

Voila un exemple comme vous m'avez demandé !

Merci encore pour votre aide !! :)

EDIT :

Voici un meilleur exemple (quelques tableaux ont été remaniés).
Le tableau rajouté est en fait un résumé des informations saisies en dessous.
 

Pièces jointes

  • exemple2.zip
    44.1 KB · Affichages: 31
  • exemple2.zip
    44.1 KB · Affichages: 30
  • exemple2.zip
    44.1 KB · Affichages: 30
Dernière édition:

Efgé

XLDnaute Barbatruc
Re : Deux petits problèmes

Re
Si vous modifiez votre exemple, la situation ne se simplifie pas...
Je vous propose une feuille récap qui prend en compte tous les onglets d'accompte prèsents dans le classeur. La liste est recréée à chaque lancement du traitement.
Après je ne sait pas....
Cordialement
 

Pièces jointes

  • Cotcot_test.zip
    47.7 KB · Affichages: 36

cotcot

XLDnaute Junior
Re : Deux petits problèmes

En fait le changement que j'ai opéré ne touche pas du tout le type de résultat que je souhaite.

Merci en tout cas pour le travail que vous avez fourni!

Je vous ai fait un petit screenshot pour vous montrez:

Je souhaite que le montant dans le carrée rouge apparaisse dans le prochain acompte dans le carré bleu et ainsi de suite (que le carré rouge de l'acompte 2 apparaisse sur une autre ligne dans le carré bleu de l'acompte 3).

Est-ce plus compréhensible?
 

Pièces jointes

  • exemple.jpg
    exemple.jpg
    50.2 KB · Affichages: 78
  • exemple.jpg
    exemple.jpg
    50.2 KB · Affichages: 70
  • exemple.jpg
    exemple.jpg
    50.2 KB · Affichages: 71

Efgé

XLDnaute Barbatruc
Re : Deux petits problèmes

Re
J'ai bien compris la demande mais... :
Pour faire ce que vous voulez, il faut être certain que les numéros des bordereaux d'accompte soient séquentiels; hors vous laissez l'utilisateur choisir son numéro, donc on ne peut être sûr de rien.
Vous laissez un tableau à trois lignes, que ce passe t il au quatrème accompte ?

A part la solution de la feuiille récap qui reprend les onglets existants et grace auquel vous pouvez faire des extractions (type TCD), je ne vois rien de vraiment fiable.

Si quelqu'un a une autre idée...

Bon courage,
Cordialement
 

cotcot

XLDnaute Junior
Re : Deux petits problèmes

Oui appriori les numéros se suiveront forcement et incrémentés toujours de 1. Et pour le tableau il y aura bien sur plus de trois ligne :S
Mais je savais bien que se serait compliqué à réaliser !
Sinon je pensais à une macro qui rappatrierait la ligne ou se trouve le total TTC dans le tableau de mandat, en dessous (ou plutot au dessus) d'une ligne dont le nom est spécifié (faire une insertion au dessus de la ligne "TOTAL" par exemple). On pourrait penser a un msgbox qui demanderais le numéro de l'acompte à rapatrier et ensuite faire le copier-insérer dans le tableau mentionné.

C'est un peu de la bidouille mais bon ... qu'en pensez-vous ?
 

Discussions similaires

Réponses
21
Affichages
329

Statistiques des forums

Discussions
312 381
Messages
2 087 824
Membres
103 667
dernier inscrit
datengo