insertion de lignes dans plage définie

V

Velsheda

Guest
Bonjour le Forum, Bonjour à tous

Utilisant un userform pour l'insertion automatique de lignes, j'aimerai que cette insertion s'éffectue entre les lignes A8 et l'espace ou se situe mon tableau de données sans dépasser les totaux (de chaque colonne) situés sous ce tableau.

J'utilise l'aide apporté par USFRudimentsBasicPourAmo.zip
Merci d'ailleurs à Thierry pour avoir faciliter mes débuts avec ce code.
 

ChTi160

XLDnaute Barbatruc
Salut Velsheda

bonsoir le Forum

pourrais tu être un peu plus précis ou alors mets un fichier joint pour permettre de mieux comprendre ce que tu désires faire.

tu veux inserer des lignes à partir de la ligne 8
sans dépasser la ligne des Totaux

je pense si j'ai bien compris, qu'il te faut insérer cette ligne par le Haut(en ligne 8)

ainsi la ligne des totaux ne risque rien

exemple non testé

Code:
With WorkSheets(« Feuil1 »)
.Rows('8:8').Select 'ici on sélectionne la ligne 8
    Selection.Insert Shift:=xlDown 'on insère une ligne
         .Range('A8').Select
 For Each ctrl In Me.Controls 'pour chaque controle du Userform
 If TypeName(ctrl) = 'TextBox' Then 's'il est un textBox
  If ctrl.Text = '' Then 'est qu'il n'est pas vide
 rep = MsgBox('Attention zone :' & ctrl.Name & ' non remplie', vbInformation, ' Attention Saisie Incomplète')
 ctrl.SetFocus
 Exit Sub
   End If
 End If
 Next 
         .Range('A8') = TexteBox1'on rempli la ligne 8 sur 8 colonnes ici
         .Range('B8') = TexteBox2
         .Range('C8') = TexteBox3
         .Range('D8') = TexteBox4
         .Range('E8') = TexteBox5
         .Range('F8') = TexteBox6
         .Range('G8') = TexteBox7
         .Range('H8') = TexteBox8

End With

Tiens nous au courant
bonne fin de Soirée
 
V

Velsheda

Guest
Bonjour ChTi160 et merci de cette réponse très rapide (j'ai été pris de cours).
Alors voilà comme c'est plus facile par l'exemple je joins comme demandé mon fichier.
Je désire à ce que la nouvelle personne (personne28) inséré par userform entre dans mon tableau pour exemple à la ligne 38.
La je pense que pour les Pros d'excel aucune difficultés notables....
Pour moi c'est mes tous débuts.
Bien évidemment s'il était possible également à ce que cette insertion se fasse par ordre Alphabétique (puisque c'est des noms entrés dans l'Userform) serait merveilleux. ;)
Merci d'avance ChTi160 [file name=planning1.zip size=26992]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/planning1.zip[/file]
 

Pièces jointes

  • planning1.zip
    26.4 KB · Affichages: 20
  • planning1.zip
    26.4 KB · Affichages: 13
  • planning1.zip
    26.4 KB · Affichages: 14

ChTi160

XLDnaute Barbatruc
Salut Velsheda

je viens de regarder ton fchier j'ai répondu à la première question insérer le nouveau nom en ligne 38
je me suis rendu compte qu'il y a une ligne vide en 16 est ce normal?
celà complique le tri des données
si cela est normal quelle partie doit on trier
enfin je mets un exemple où la zone à partir de la ligne 16 est triée
faire nouveau membre puis valider après avoir rempli textBox
bonne Journée [file name=planningV2.zip size=30514]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/planningV2.zip[/file]
 

Pièces jointes

  • planningV2.zip
    29.8 KB · Affichages: 18
  • planningV2.zip
    29.8 KB · Affichages: 17
  • planningV2.zip
    29.8 KB · Affichages: 22
V

Velsheda

Guest
Bon Boulot ChTi160 ;)
Le Tri suivant l'ordre alphabétique fonctionne à merveille.
Encore un petit problème:
A l'insertion, la mise en forme (quadrillage noir de chaque cellule) ainsi que les formules du tableau de droite (AG à AJ) ne sont pas conservées.
Concernant la séparation de ligne L16, elle est bien volontaire puisque en fait il s'agit de 2 catgories de personnes. Mais je pense m'en sortir en modifiant le Userform ou en créant un deuxieme formulaire avec le même principe.
 

ChTi160

XLDnaute Barbatruc
re Velsheda

en pièce jointe une réponse aux demandes

[file name=planningV3.zip size=31019]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/planningV3.zip[/file]
 

Pièces jointes

  • planningV3.zip
    30.3 KB · Affichages: 20
  • planningV3.zip
    30.3 KB · Affichages: 20
  • planningV3.zip
    30.3 KB · Affichages: 22
V

Velsheda

Guest
ChTi160, t'as fais du très bon boulot tcho pere.
Malheureusement en ce qui me concerne, je suis des plus nuls.
Après avoir de nouveau passé une journée à comprendre ce nouveau fichier, je baisse totalement les bras.
Pas moyen de modifier le Userform afin de sélectionner l'insertion dans l'une ou l'autre catégorie, appliquer de nouveau mon fichier mDF sur les cellules ou appliquer cette insertion à tous les mois.
Alors, je ne t'embête plus, mais j'espère que ton boulot servira à d'autres.
Très amicalement.
 

ChTi160

XLDnaute Barbatruc
Salut Velsheda

Arffff comme beaucoup tu baisses les bras un peu vite Lol

il faut que tu regardes et que tu poses les bonnes questions et je pense que petit à petit tu vas comprendre ce que tu fais
moi j'ai commencé comme toi et maintenant avec l'aide du Forum j'arrive à aider d'autres gens .
Alors qu'en ce moment je fais des recherches suite à ton fichier sur la Propriété line Style de la Collection Borders et j'apprends grâce à ta question, tu vois c'est super !!!!!
donc tu vois et tu reviens lorsques tu te seras reposé un peu Lol

car c'est tout sauf évident Excel et Vba

bonne Nuit et n'hésite pas à revenir
si tu veux des commentaires tu le dis
 
V

Velsheda

Guest
Bonjour le forum et ChTi160
Voilà, j'al suivi tes conseils, et me suis reposé un peu pour repartir à zéro.
J'ai revu ce qui ne fonctionnait pas et avec l'aide apporté par MyDearFriend sur les Mises en forme conditionnelles ne fonctionnant pas dans mon tableau, il s'est avéré que j'employais une ancienne version de mDF.
La nouvelle vient donc d'être inséré dans le workbook, et conserve la mise ne forme totale (couleur de fond et caractères).
J'ai revu cette version puis celle de la V3.
Quelques changements relevés: /// (=commentaires):

///EN PLUS/// Dim TabTemp As Variant


///LA J'AI LAISSE ROW +1 ET UCASE N'Y ETAIT PAS///

L = .Range('A65536').End(xlUp).Row + 1
TabTemp = .Range(.Cells(1, 1), .Cells(L, 1)).Value
'Détermine le format à utiliser suivant la valeur de la cellule
If Target.Value = '' Then
L = 1
Else
For L = 2 To UBound(TabTemp, 1)
'Fonctionne en minuscule/majuscule pour les chaines de caractères
If UCase(Target.Value) = UCase(TabTemp(L, 1)) Then Exit For
Next L

///UCASE(V) DANS CETTE NOUVELLE FORMULE A ETE MIS POUR FORCER LES MAJUSCULES///
Target.Formula = UCase(V)



J'ai gardé le formulaire d'origine, même si par la suite une modife sera apportée et l'ajout d'une nouvelle personne apporte cette erreur:
Erreur: Variable non définie fait référence à:
L = .Range('A65536').End(xlDownd).Row + 1
J'ai donc modifié Downd en mettant Down pensant à une erreur de frappe, rien n'y fait.
Voilà en espérant toujours ton aide.
Amicalement [file name=planningV4.zip size=27866]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/planningV4.zip[/file]
 

Pièces jointes

  • planningV4.zip
    27.2 KB · Affichages: 22
  • planningV4.zip
    27.2 KB · Affichages: 23
  • planningV4.zip
    27.2 KB · Affichages: 20

ChTi160

XLDnaute Barbatruc
Salut Velsheda

content de voir que tu n'abandonnes pas Lol

je vois que tu tente d modifier la macro de Didier mDF

pour ce qui est du bug a première vu c'est la Variable L qui posserait problème il faut voir le Texte de ta procèdure
j'ai modifié le fichier pour résoudre les problèmes de la ligne ou j'avais mis total ensuite le problème de la mise en forme de la ligne qui est ajoutée(je posterai plus tard)
j'ai aussi pensé qu'il devrait être possible de mettre sur le Userform un bouton qui permettrait de choisir ou l'on ajoute la ligne partie haute ou basse à voir !!!!

donc si tu le peux copie la procèdure qui te pose problème da&ns ce fil

merci d'avance
 

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 957
Membres
103 990
dernier inscrit
lamiadebz