Elargir la fonction" merge "à l'ensemble du tableau (voir sujet en page 2)rRESOLUE

br44

XLDnaute Impliqué
Bonjour a toutes et à tous ,

j'ai recherche sur le forum une procédures qui permettrais de rentrée une liste de clients dans un tableau par l'intermédiaire d'une combo box associer une texte box située dans userform ; à moins que cela ne soit pas possible ?

j'ai essaye d'adapter une procédure trouver sur le forum mais rien me fonctionne le souci c'est que je n'est aucun résulta qui s'affiche dans mon tableau .

je vous joint bien entendu un fichier en exemple ; je voudrais alimentée le tableau située sur le feuille "Fiche clients " .

Vous remerciant par avance pour le coup demain et suis désoler de vous demander une chose aussi basic que celle ci ;mais là je tourne en rond et cela m'énerve .

pour infos il s'agit simplement d'entrer un n° client et le nom dans les deux premières colonnes du tableau . ouvertures de l'userform part les touches : ctrl + a

j'aurais un autres fonction à rajouter avant l'enregistrement . si vous pouviez me donner le code
je me débrouillerais pour le rentrer et de le completer moi même .

inséré un nouvelle onglet portant le n° du clients qui lui a était attribué.

vous remerciant par avance pour tout je vous dit à bientôt . br44
 

Pièces jointes

  • essais suivi client pour le forum.xls
    25.5 KB · Affichages: 71

br44

XLDnaute Impliqué
Bonsoir Laetitia90 , le forum .

Je viens de lire ton massage et je t'en remercie . bon a première vu j'ai un souci de compatibilité de version , mais je vais reprendre ton fichier et le remettes directement dans ma version . je te tien au courant , mais j'ai put tester sur version de démo 2007 , et cela à l'aire de fonctionner .

Petit question pourquoi un bouton de commande pour l'USF 2 dans la feuille1 alors que c'est pour la feuil 2 ?
Juste pour comprendre ton choix et pour savoir si c'est pour une raison spécial .

Un point qui pourras te rassurer cette présentation d'USF n'a pas d'importance en soit. Du moment que j'ai les fonctionnalité demander sont présente le reste n'est pas vraiment important .

Pour essayer de répondre à ta question sur le but final .
est de créer un fichier de suivi de livraison .

la base est la suivante : j'ai en permanences 9 commandes en attentes
pour chaque commandes je peux avoir entre 1 et 8 article dont les quantité varies entrent 1et5 unité
l'ensemble étant repartie sur un groupe de 37 clients pour le moment .
le tout m'arrivant de manière aléatoires .

donc je notes tout les livraisons que je fait mais après pour calculer combien d'article ont été livrer par jour pour l'ensemble des clients se n'est pas du tout jouable .

je voudrais pouvoir a long terme bien sur anticiper les commandes pour améliorer mes délais de livraison et
rentabiliser mais moyen de production .

sachant que je produit chaque article et que les délais de production sont variables d'un article à l'autres se n'est pas évident du tout de penser à tout

je note également le nombre de commande livré par jour et cela tourne entre 15 et 30 suivant mes capacité de stockage et ma disponibilité.
Bon en espérant que cela t'aideras avoir plus claire sur mon objectif et te remerciant beaucoup pour ton aide je te dis à bientôt après avoir testé ta proposition . Amicalement Br44
 

br44

XLDnaute Impliqué
bonjour à toutes et à tous , et à toi laetitia90,
Bon je revient vers toi à cause d'un petit souci de compatibilité entre la version 2007 de ton fichier et ma version 2003 .

je peux voir ton usf dans ma version qui ne s'ouvre quand lectures seulement.
1) je peux pas ouvrir l'usf avec le bouton car il reste en bloquer en mode création .
2) l'usf s'ouvre mais rien ne s'affiche de dans pas accès au la liste clients.
3) j'ai essayer de mètres ta procedure dans mon classeur de base la il a l'aire de fonctionner il ne m'affiche
aucun résultats après l'enregistrement donc voilà où j'en suis .

j'ai bien une version 2007 mais une version teste non activer après se qui ma permis de teste mais sans
avoir accès au programme est au fonctionnalités.

il s'agirait peut-êtres d'un problème d'extension de fichier . je viens de voir que ton fichier est en XLMS alors que je tourne sur du XLS l' erreur est peut-être là ? .

te remerciant par avance et dit à bientôt .Amicalement BR44
 

laetitia90

XLDnaute Barbatruc
re :)

j'ai enregistre le fichier en excel 2003 normalement ce code est compatible en 2003
concernant le bouton aucune importance d'ailleurs mis dans detail fiche client
ps pour les feuilles je fais toujours reférence au code_Name de la feuille concerner evite pb..de renommage
 

Pièces jointes

  • ESSAIS FORUM 3.xls
    196.5 KB · Affichages: 52

br44

XLDnaute Impliqué
br44XLDnaute Impliqué
Inscrit depuis le :
28 Juin 2005
Messages :
727
"J'aime" reçus :
0
Nouveau
Bonjour Laetitia90 , Chalet 53 , le forum

Tout d'abord je m'excuse de ne pas avoir donner plus vites et pour te remercier pour ton fichier .

bon je fait un point sur la situation qui à un peu évoluer .

Bon j'ai réussie à affecte le n° de colonne et de l'afficher en b10 .
J'ai également mis les TextBox "Quantitée" en format texte et d'afficher la valeur de la textbox
concerné .
Bon maintenant il faudrait que je trouve le moyen de faire une répartition en colonne,
de pouvoir afficher tout en même temps si j'ai plusieurs liste de valider .

pour cela j'ai pansé qu'il serait peut-être judicieux de mettre les colonnes allant de"B10à BE10 "

soit sous forme de plage type Z= Sheets("feuil2").range("B10:Be10). Columns '(A verifier)
ou plus simplement
sous forme de variable z = 2 to 56 Step8
2= depart en colonne "B"
56 = nombres de colonne à couvrir se qui nous donne 56 = soit l colonne "Be"
Step 8 = nombre maxi de TextBox à afficher
une deuxième boucle for i pour les l'affichages des combo +des n° colonne et des quantités qui sont visible dans l'Usf ;
Ensuite il faudrait peut-être rajouter une condition
repartir de la première colonne vide ? A voir

Mon souci c'est que je ne c'est pas comment imbriquer tout ça de façon cohérentes
de plus le contrôle quantité que tu as mis fonctionne comme si la ligne 10 indiquais des quantités
et il affiche "1" dans la cellules concerné par le choix effectuer .
et ne voie pas comment adapter cela .

je te remet un fichier test avec se que j'ai rajouter dans le programme ;

il manque le decoupage de la plage commande ,mais pour l'instant se n'est pas le souci .
comme l'affichage du n° de semaine et de journée .

j'ai mis en rouges le résultat que je souhaiterais obtenir . en noir le résultat obtenu avec la macro actuelle .
si veux le donner juste la façon de procéder cela me vas si j'ai les bonne explications je me débrouillerais

Te remerciant par avance pour le coup de main et pour la patience dont tu fait preuve ;je te dit à plus tard et merci encore .Amicalement Br44
 

Pièces jointes

  • teste -forum.xls
    286.5 KB · Affichages: 42

br44

XLDnaute Impliqué
Bonjour a tous et laetitia90 ,

laetitia90 je tiens a te remercier et te dire que ton programme fonctionne .

touts se passe parfaitement bien il me manque juste la procédure
soit :
- Pour faire un trait vertical qui partirait de la dernière colonne pleine qui descendrait jusqu'à la ligne 121
soit:
- De faire un cadre qui partirais de la plage créer en ligne 9 et descendrait
jusqu'à la lignes 121 .
le plus simple a faire me conviendra .

Je te remercie pour et m'excuse d'avoir de t'avoir sollicitée pour pas grand choses .

je revient vers toi plus tard pour tenir au courant de la suite des opérations .

Amicalement Br44
 

br44

XLDnaute Impliqué
Bonsoir a tous , laetitia90 , chalet53

je revient vers vous pour c=vous dire que j'ai réussi a incérer la fonction "merge dans la procédure et que cela fonctionne au niveau de la plage créer .
Ma question est :
Quelle est la procédure pour que les bordures soit prolonger jusqu'en bas du tableau soit
jusqu'à la ligne 121 .
Et si quelqu'un peut m'aider à réduire la taille de ma macro se serais un plus . en vous remerciant par avances . Amicalement Br 44
Voici la macro concerné :
Sub es()
With Feuil2
Application.DisplayAlerts = 0
For i = 7 To 9
With .Cells(i, w).Resize(, z) 'délimites la nouvelle plage et la fusionne
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
Selection.Merge 'Début de la fonction encadrement
Cells(i, w).Resize(, z).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Cells(i, w).Resize(, z).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Next i 'Sort de la boucle
Application.DisplayAlerts = 1
End With
End Sub
Ps : Si vous voulez m'indiquer se que je peux enlever dans la procédure je me débrouillerais pour le faire .Cela me permettras de comprendre se qui est important et nécessaire . Encore merci
 

br44

XLDnaute Impliqué
Bonsoir à tous ,
tout d'abord je m'excuse d'avoir changer le titres de mon poste mais le sujet n' étant la suite cela me semblait logique plus tôt que de fermer et de rouvrir un nouveau sujet .
Voilà la macro qui est situé dans le message précédant me permet de crée une plages à partir des infos de mon usf . jusque là pas de souci , mais je souhaiterait soit:
avoir la bonne terminologie pour que la fonction "merge " descendre jusqu'en lignes 121 de mon
tableau (fin de mon tableau .
Si cela est possible en ajoutant le nombres de lignes concerner ici 114 .
j'ai tenté un approche avec :
.ActiveWindos .SmallScroll Drown :=114 que donne l'enregistreur de macro
mais je ne sais pas où le placer dans ma macro et cela ne fonctionne pas

serait -il possible que quelqu'un me donne un coup de main une macro pour réaliser cela .
pour info l'encadrement peut commencer 2 lignes en -dessous en ligne 11 du moment que la largeur
de la plage concerné est respecté c'est tout se qui importe .
exemple : Si la nouvelle plage créer par de la cellule "p9" est vas jusqu'en " s9"
le cadre doit couvrir la zone ;P11: S121 afin de bien s' éparer les plage des une des autres
voir fichier joint et macro (peut-être à simplifier) dans le message si dessus .
 

Pièces jointes

  • teste -forum.xls
    311 KB · Affichages: 40

br44

XLDnaute Impliqué
Bonjour à vous toutes et tous .

tout d'abord j'ai une bonne nouvelle Jai trouver la solution et elle fonctionne .
donc problèmes résolue je vais pouvoir passer à la suite .

mais avant je voulait vous donner la solution afin d'aider quelqu'un qui en aurais besoin voici
Donc la macro que j'ai rajouter à la suites de l'autre mais à placer après la boucle :

With Selection.Merge 'Début de la fonction encadrement
Range(Cells(i + 1, w), Cells(i + 111, w)).Resize(, z).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Range(Cells(i + 1, w), Cells(i + 111, w)).Resize(, z).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Application.DisplayAlerts = 1
End With

en vous remerciant tous d'avoir lu se poste . Amicalement br44
 

Discussions similaires

Statistiques des forums

Discussions
312 042
Messages
2 084 829
Membres
102 685
dernier inscrit
med_remi021