Ajouter et supprimer des lignes a partir d'une toupie

cj welch

XLDnaute Occasionnel
bonsoir,

j'ai trouver un fichier sur ce forum que je voudrais modifier.

En effet, des lignes s'ajoute ou se supprime a partir d'une toupie.
Je voudrais faire 3 choses

1. Quand j'ajoute des lignes et que je remonte, si une des lignes de la colonne J est renseigné, la suppression des lignes s'arrete a la dernière ligne qui comporte une valeur.

2. Quand des lignes s'incèrent, la valeur contenue dans certaine cellule se vide (ex: en j13, k13, l13, quand on utilise 2 fois la toupie les chiffres de ces cellules se vident. ce que j'aimerais éviter.

3. ajouter 2 colonnes après la colonne B. Lorsque je les incères la toupie me renvoi vers un message d'erreur.

je vous joint le fichier

Merci pour votre aide

A+
 

Pièces jointes

  • Copie de Bouton.zip
    20.6 KB · Affichages: 223

cj welch

XLDnaute Occasionnel
Re : Ajouter et supprimer des lignes a partir d'une toupie

salut ledzepfred,

les modif apportées fonctionne super bien.
En revanche, j'ai un petit soucis au niveau du fonctionnement des scrollbar, quand on ajoute plusieurs lignes et qu'on veuille ensuite revenir (avec la flèche du haut), cela ne fonctionne pas.

Pourrais tu me résoudre ce problème

Merci d'avance

Très cordialement

Cj
 

ledzepfred

XLDnaute Impliqué
Re : Ajouter et supprimer des lignes a partir d'une toupie

salut cjwelch,

j'ai beau testé de mon côté sur la dernière version transmise, je n'ai pas de pb pour l'utilisation des scrollbar (d'ailleurs je n'ai pas touché au code initial)

Peux-tu m'expliquer le pb?

A+
 

cj welch

XLDnaute Occasionnel
Re : Ajouter et supprimer des lignes a partir d'une toupie

re,

j'ai testé le n°1
J'ai ajouter 6 lignes a la suite en utilisant la flèche du bas
Ensuite, j'ai fais l'opération inverse et là rien ne se passe

J'espère avoir été prècis

bisard, je viens de refaire l'expérience et la ça fonctionne.

Je cherche pourquoi ça bloque a certain moment et je reviens vers toi.

A+


A+
 
Dernière édition:

cj welch

XLDnaute Occasionnel
Re : Ajouter et supprimer des lignes a partir d'une toupie

Re,

je n'arrive pas a trouver pour le moment mais je te joint un fichier qui montre que le scrollbar ne fonctionne pas correctement

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

Dans l'attente de te lire

A+
 

ledzepfred

XLDnaute Impliqué
Re : Ajouter et supprimer des lignes a partir d'une toupie

RE,

effectivement, des clics dans tous les sens perturbe le comportement des scrollbar, mais je ne pense pas que cela vienne du code ou en tout cas, je sèche!
Tu as remarqué cela depuis quand?

Edit: pour en avoir le coeur net j'ai placé un point d'arret sur la ligne Set scrol=scrollbar de chaque private Sub scrollbar_change et quand je clique sur les scrollbar, la macro ne démarre pas,
c'est donc lié au controle scrollbar et deplus c'est aléatoire, c'est incompréhensible!!

A+
 
Dernière édition:

ledzepfred

XLDnaute Impliqué
Re : Ajouter et supprimer des lignes a partir d'une toupie

re...

sur cette version, je n'ai pas le pb ???!!!!!

A+
 

Pièces jointes

  • vehicule_vf3.zip
    125.3 KB · Affichages: 116
  • vehicule_vf3.zip
    125.3 KB · Affichages: 117
  • vehicule_vf3.zip
    125.3 KB · Affichages: 116

cj welch

XLDnaute Occasionnel
Re : Ajouter et supprimer des lignes a partir d'une toupie

salut ledzepfred,

Ce qui est incroyable, c'est que c'est a partir du fichier Véhicule vf3 que j'ai construit la version 4, en modifiant principalement 3 formules de calculs qui bloquais.

Je cherche depuis, un petit moment, le pourquoi du comment et je n'ai pas d'explication. Des fois ça marche d'autre fois ça bloque. Pourquoi ? Mystère.

Je me demande s'il ne serait pas plus intéressant de supprimer ce bouton et de creer un bouton qui ajoute des lignes et un bouton qui remait a zero. Quand pense tu ?

Dans l'attente de te lire

Cordialement

Cj
 

ledzepfred

XLDnaute Impliqué
Re : Ajouter et supprimer des lignes a partir d'une toupie

salut cjwelch,

désolé de te répondre si tard mais bon mieux vaut tard que jamais.

après pas mal d'essais pour reproduire le bug et pas mal de recherche j'ai peut-être trouvé le problème, il faut en fait lié la valeur du scrollbar au nombre de lignes de chaque tableau :

exemple : si tu as quatre lignes dans le tableau 1, la valeur du scrollbar doit être de 4, si la valeur du scrollbar est de 1, alors il faudra 4 clics pour insérer une ligne.
En ajoutant simplement en fin de code : scrol=def.count, ça semble résoudre ce bug intermittent. Ci-dessous le code que j'ai testé et qui semble fonctionner parfaitement

Code:
Public Scrol As Object
Sub AjoutLigne()
Application.ScreenUpdating = False
'ActiveSheet.Unprotect Password:="LN"
Scrol.Placement = 2 'dimensions scrollbar figées
Set def = Range("def" & Right(Scrol.Name, 1)).Cells
Set ins = Range("ins" & Right(Scrol.Name, 1)).Cells
H = def.Count - 1
    If def.Count < Scrol Then
        Answer = MsgBox(Prompt:="Voulez-vous ajouter un mois ?", Buttons:=vbYesNo + vbQuestion)
        If Answer = vbYes Then
            ins(1).EntireRow.Insert
            ins(1).Offset(-2, 0).EntireRow.Copy
            ins(1).Offset(-1, 0).EntireRow.PasteSpecial xlPasteFormats
            
            Range(Cells(ins.Offset(-2, 0).Row, "B"), Cells(ins.Offset(-1, 0).Row, "Y")).Borders(xlInsideHorizontal).LineStyle = xlContinuous
            Range(Cells(ins.Offset(-2, 0).Row, "B"), Cells(ins.Offset(-1, 0).Row, "Y")).Borders(xlInsideHorizontal).Weight = xlThin
            For i = 2 To 17
            
            ins.Offset(0, i).FormulaR1C1 = "=SUM(R[-" & H + 1 & "]C:R[-1]C)"
            Next
            ins.Offset(0, 11).ClearContents: ins.Offset(0, 12).ClearContents
            Cells(ActiveCell.Row, 16).FormulaR1C1 = Cells(ActiveCell.Row - 1, 16).FormulaR1C1
            ins.Select
            End If
    Else
        For i = 2 To H 'pour toutes les lignes insérées en commencant par la première
            lig = Range(def(i), def(i)).Row 'lig définit numéro de cette ligne
            x = Application.WorksheetFunction.CountA(Rows(lig)) 'x=nombre de valeurs dans cette ligne
            If x = 1 Then def(i).EntireRow.Delete: Exit For 'si la ligne est renseignée (x>0), passe à la ligne suivante, sinon supprime la ligne et sort de la boucle
        Next
    End If
[COLOR="Red"]Scrol = def.Count[/COLOR]
Scrol.Placement = 1 'dimensions scrollbar fonction des cellules
Application.ScreenUpdating = True
'ActiveSheet.Protect Password:="LN"
End Sub

A+
 

Discussions similaires