Fichier de suivi - souci avec code à adapter - merci K...

ptittitine

XLDnaute Nouveau
Bonjour à tous,

il y a quelques semaines KJIN m'avait beaucoup beaucoup aidé pour la créaton d'un fichier de suivi de formation.
Je dois refaire le même style de fichier pour les réclamations.
Suaf que cette fois, certaines info seront exporter de mes e-mails (jsuque là ça fonctionne bien) et ensuite via le menu qui apparait lorsque l'on passe sur une cellule, je pourrais soit modifier la ligne en cours soit créer une nouvelle avec plusieurs userform.
Bon tout n'est pas encore finalisé au niveau de la "mise en page" de mes userform mais le code que j'ai essayé d'adapter ne fonctionne pas. En fait quand je veux modifier une ligne existante, c'est une nouvelle ligne qui se crée à la fin.
L'un de vous peux m'aider ? J'essaye vraiment de m'en sortir seule mais étant plus que novice en vba et bien ce n'est pas facile!!
Merciiii à tous et bonne fin de journée.

Cijoint.fr - Service gratuit de dépôt de fichiers


Titine
 
Dernière édition:

kjin

XLDnaute Barbatruc
Re : Fichier de suivi - souci avec code à adapter

Bonsoir,
Je n'ai pas vraiment compris, il s'agit d'un nouveau projet dont tu souhaites que le fonctionnement soit identique au précédent ?
Je vois 3 formulaires dans le menu, quoi fait-on ?
A+
kjin
 

ptittitine

XLDnaute Nouveau
Re: Fichier de suivi - souci avec code à adapter

Bonjour Kijn,

c'est effectivement un nouveau projet en fait, mes collègues vont m'envoyer un formulaire via e-mail qui sera exporter dans la feuille récap. La ensuite j'aimerais soit modifier une ligne déjà existante où en ajouter une nouvelle si nécessaire (comme tu l'avais fait pour mon précédent projet). J'ai en effet 3 usf qui traite de données spécifique.
Merci de m'avoir lue!
Bonne journée

Titine
 

kjin

XLDnaute Barbatruc
Re : Re: Fichier de suivi - souci avec code à adapter

Bonjour,
Ton fichier modifié en retour avec un usf multipages
Note que bouton "modifier" du menu n'est accessible que si la cellule de la colonne A n'est pas vide et je ne vois pas de trace du N° PL dans ton formulaire !
Il faut vraiment que tu regardes de plus près comment fonctionne le code, reviens si tu as des questions
A+
kjin
 

Pièces jointes

  • tine_v1.zip
    28.1 KB · Affichages: 55

ptittitine

XLDnaute Nouveau
Re: Re : Re: Fichier de suivi - souci avec code à adapter

Encore merci Kiijn,

cela fonctionne très bien mais j'ai du apporter quelques modif à l'USF mais sans conséquences.
J'ai essayé de comprendre bien tout le fonctionnement et j'ai une petit question: si je veux ajouter une 3éme action au clic de la souris est-ce que dans le code de la worksheet ci-dessous je dois mettre . Controls(3)... au lieu du 2?

With Application.CommandBars("MenuSPL")
.Controls(2).Enabled = Not IsEmpty(Cells(Target.Row, 1))

En tout cas encore merci et promis, je vais demander à mes boss de m'envoyer faire une formation!

A plus tard

Titine
 

kjin

XLDnaute Barbatruc
Re : Re: Re : Re: Fichier de suivi - souci avec code à adapter

re,
Ce bout de code ne "créer pas d'action", mais inhibe ou pas le bouton modifier suivant que la cellule en colonne A est vide ou non.Expliques précisemment ce que tu veux faire
A+
kjin
 

ptittitine

XLDnaute Nouveau
Bonjour,

en fait en plus de l'action "ajouter" et "modifier" j'aurais aimé ajouter une action "transférer" car certaines ligne du tableau récap devront être transférer dans un autre fichier excel et s'effacer du 1er fichier.
Passe une bonne journée
A plus tard
Titine
 

kjin

XLDnaute Barbatruc
Re : Re: Fichier de suivi - souci avec code à adapter - merci K...

Bonjour,
Le fichier modifié en PJ
Il faut maintenant écrire la procédure "TransférerItem"; je te rappelle que la feuille et protégée par mdp, donc il faudra en tenir compte dans ta macro lorsque tu voudras la modifier
A+
kjin
 

Pièces jointes

  • tine_v2.zip
    29.2 KB · Affichages: 42

ptittitine

XLDnaute Nouveau
Re : Fichier de suivi - souci avec code à adapter - merci K...

Bonsoir Kijn, bonsoir tt le monde,

j'ai commencé à rédiger la macro mais on a eu un bug au boulot alors je n ai pas pu travailler beaucoup. Je continuerais demain.

merci pour ton aide

A plus tard

Titine
 

ptittitine

XLDnaute Nouveau
Re : Fichier de suivi - souci avec code à adapter - merci K...

Bonjour,

alors voilà j'ai tenté d'écrire la procédure "TransférerItem". Je suis parvenu à quelque chose mais le seul truc c'est que mes lignes ne se copie pas dans mon 2ème fichier les une après les autres mais elle se mets sur la ligne 4 et au fur et à mesure recopie le nouvelle ligne dessus. Voici le code :

Sub TransfererItem()

ActiveCell.EntireRow.Select
Selection.Copy
Workbooks.Open Filename:= _
"I:\USERS\Martine Driessen\PRIVATE\Martine\Temporaire\Plainte\Para.xlsm"
Sheets("Récap").Activate
Range("A4").End(xlUp).Offset(1, 0).PasteSpecial
ActiveSheet.Paste
ActiveWorkbook.Save
ActiveWindow.Close
ActiveCell.EntireRow.Select
Application.CutCopyMode = False
ActiveSheet.Unprotect
ActiveCell.EntireRow.Select
Selection.Delete Shift:=xlUp
ActiveSheet.Protect

End Sub

j'ai bien essayé pleins d'autres trucs mais soit ça s'écrivait dans les colonnes au lieu des lignes, soit j'avais la même ligne qui se copiait dans tout le fichier!!! Enfin là j ai du mal pour ne pas changer.

Pourtant j'essaye de faire des efforts et de comprendre!!

Merci

A plus tard

Titine
 

kjin

XLDnaute Barbatruc
Re : Fichier de suivi - souci avec code à adapter - merci K...

Bonsoir,
Range("A4").End(xlUp)
dernière cellule non vide de la colonne A, en descendant...
Code:
    Range("A4").End(xlDown)
...et en remontant
Code:
    Range("A65000").End(xlUp)
...l'avantage de la deuxième solution est qu'on s'affranchit du pb des cellules vides eventuellement intercalées, donc on est sûr que ce sera bien la dernière cellule (si il y a au moins une valeur dans la colonne, évidemment)
Donc, en partant de ton fichier
Code:
Sub TransfererItem()
Dim c As Range, wb As Workbook
Application.ScreenUpdating = False
Set c = Range("A" & ActiveCell.Row & ":BR" & ActiveCell.Row)
'ou si la dernière colonne est variable
'Set c = Range(Cells(ActiveCell.Row, 1), Cells(ActiveCell.Row, 256).End(xlToLeft))
Set wb = Workbooks.Open("I:\USERS\Martine Driessen\PRIVATE\Martine\Temporaire\Plainte\Para.xlsm")
With wb
    c.Copy .Sheets("Récap").Range("A65000").End(xlUp).Offset(1, 0)
    .Close True
End With
ActiveSheet.Unprotect
c.EntireRow.Delete
ActiveSheet.Protect
Application.ScreenUpdating = True
End Sub
Note qu'on peut aussi copier toute la ligne
A+
kjin
 

ptittitine

XLDnaute Nouveau
Re : Fichier de suivi - souci avec code à adapter - merci K...

Bonjour Kjin,

comme d'habitude, ton code fonctionne à merveille!! Merci beaucoup.

Pour que je sois un peu moins ignorante et sans vouloir abuser de ta gentillesse et de ton temps,, tu serais OK pour m'expliquer pourquoi tu es passé par la fonction Dim ... As ... par rapport à mon code qui bien sûr est beaucoup plus basic (et surtout qui ne marchait pas lol)? Est-ce que tout mon code était incorrect où aurais-je pu juste modifier la ligne :
Range("A4").End(xlUp).Offset(1, 0).PasteSpecial

Encore merci pour ton aide que j'apprècie vraimment.

Bonne après-midi.

Titine
 

Discussions similaires