bonjour , je cherche quelqu'un qui pourrais m'écrire une macro en vba
une macro qui soit affecter a un bouton (enregistrer les finis) : sont rôle doit sélectionner les lignes avec le mots "fini" en case D feuille source puis les transfère dans la feuille fini a la suite des autres en inscrivant la date du transfère la la fin de la ligne.
une autre macro un bouton de retour (retour en com) : sont rôle doit sélectionner les ligne vide sur la feuille fini dans la colonne D et lorsque la ligne est sélectionner la réintégrer dans l'onglet source.
en gros un aller retour entre 2 feuille suivant l'état de la case "Fini"
merci d'avance a ceux qui auront la possibilité de me donner un coup de main
Fini est une variable à laquelle on affecte le tableau structuré nommé TbFini de la feuille Fini.
Une fois cette variable définie, on la réutilise dans le code pour ne pas réécrire à chaque fois sheets("fini").ListObjects("TFini").
J'aurai dû prendre un autre nom de variable car ça prête à confusion.
Tu peux la modifier en modifiant aussi dans la déclaration Dim Fini as Listobject.
Tu peux faire comme ci-dessous:
VB:
Dim c As Range, Toto As ListObject, Lig As ListRow, dl As Integer, i As Integer
Set Toto = Sheets("fini").ListObjects("TbFini")
@riv : Je pense que tu n'es pas vraiment sûr de ta démarche. Ton fichier joint au post#3 en retour. Tu trouveras des explications succinctes pour utiliser le fichier.
@riv : Je pense que tu n'es pas vraiment sûr de ta démarche. Ton fichier joint au post#3 en retour. Tu trouveras des explications succinctes pour utiliser le fichier.
je vient de regarder ta programmation merci a toi d'avoir pris le temps, c'est ce que je voulais par contre dans la feuille fini les ligne n'apparaisse pas a la suite du tableau et il fau que la ligne sélectionner sois supprimer de la ca feuille de base base après le transfère entre feuille.
je vient de regarder ta programmation merci a toi d'avoir pris le temps, c'est ce que je voulais par contre dans la feuille fini les ligne n'apparaisse pas a la suite du tableau et il fau que la ligne sélectionner sois supprimer de la ca feuille de base base après le transfère entre feuille.
Bonjour,
c'est ce que fait exactement le code. Tu ne t'en rends pas compte car tu as des lignes en doublons voire triplons ou plus. Dans le fichier joint, j'ai modifié pour l'exemple le n° d'affaire (plus de doublon).
1 - De la feuille source, si le mot fini est mis en colonne "état", le code transfert la ligne vers la feuille fini en ajoutant la date du jour et la supprime de la feuille source.
2 - De la feuille fini, il faut effacer mot fini est mis en colonne "état", le code transfert la ligne vers la feuille source en ajoutant la date du jour et la supprime de la feuille fini.
Fini est une variable à laquelle on affecte le tableau structuré nommé TbFini de la feuille Fini.
Une fois cette variable définie, on la réutilise dans le code pour ne pas réécrire à chaque fois sheets("fini").ListObjects("TFini").
J'aurai dû prendre un autre nom de variable car ça prête à confusion.
Tu peux la modifier en modifiant aussi dans la déclaration Dim Fini as Listobject.
Tu peux faire comme ci-dessous:
VB:
Dim c As Range, Toto As ListObject, Lig As ListRow, dl As Integer, i As Integer
Set Toto = Sheets("fini").ListObjects("TbFini")
Pour que ta contribution au forum soit utile à d'autres. Il ne te reste plus qu'à pointer le numéro du fil (à droite de la fenêtre, flèches haut/bas) donnant la solution.