Insérer une Ligne vide a chaque Validation

  • Initiateur de la discussion Initiateur de la discussion MuscatMimi
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

MuscatMimi

XLDnaute Accro
Bonjour,a tous

Juste pour savoir

Est-il possible dans une validation via un Btn dans un usf d'insérer a chaque validation une ligne Vide??

Et si c'est possible, quelle conséquence ,lors d'une Recherche avec une Cbx et une ListBox placée dans un Usf?????,

Cordialement
 
Re : Insérer une Ligne vide a chaque Validation

Bonsoir le fil,

kjin à dit:
Bonsoir,
Pourquoi abandonner !?

Tout à fait d'accord! Surtout que ça m'étonne, d'habitude c'est pas le genre de Vaucluse immo!

kjin à dit:
tu auras un gros soucis pour trier ta base alors qu'elle comporte des lignes vides

Non, pas d'accord, en VBA c'est très faisable (avec ou sans ligne vierge).

Espérant que ce petit "up" attire Vaucluse immo par ici!

Bonne fin de soirée aux couches tard
 
Re : Insérer une Ligne vide a chaque Validation

Bonjour kjin, Excel-lent

Merci de votre encouragement
C'est vrai je ne suis pas du genre a abandonner

Merci Excel-lent pour ton Code il fonctionne bien ,a condition de travailler directement dans la feuil, il faudrait pouvoir l'inclure dans le code de ma validation (code que j'ai noté plus haut dans ce fil ^)

Si je passe par mon Usf et un Btn Validation, la aucun code Fonctionne
sauf celui proposé par PhLaurent, qui ajoute une ligne en dessous des données déja existante aprés validation ,,,mais qu'une seule fois
aprés toutes les données saisies ,sont les unes sous les autres

Merci a tout les deux sans oublié Phlaurent

Bon Dimanche
 
Re : Insérer une Ligne vide a chaque Validation

Bonsoir Vaucluse Immo,

Heureux de te voir toujours d'attaque!

Code:
'(...)
.Cells(Ligne, 9) = Format(Me.TextBox8, "# ##0.00 €") 'I
.Cells(Ligne, 10) = Format(Me.TextBox9, "# ##0.00 €") 'J
.Cells(Ligne, 11) = Me.Commentaire
.Cells(Ligne, 12) = Me.TextBox10
[COLOR="Blue"][B].Rows(ligne).Insert[/B][/COLOR]
.Protect Password:="0000"
End With
Me.ComboBox1.SetFocus
'(...)

Personnellement, j'aurais vu le code ici, mais j'aurais besoin de voir ton fichier (avec l'UserForm et la macro complète) pour en être sûr!

Car j'ai un gros doute!

Dans le fichier mis en ligne, tu as une ligne vide entre chaque groupe de donnée :
-> je trouve bizarre que tu mette ta nouvelle donnée tout à la fin! Et non pas à la suite du groupe auquel elle appartient! Auxquels cas, mes deux propositions auraient dû fonctionner!

Donc j'en déduis que tu fais dans ta macro en plus un tri??? Ce qui explique que les lignes vides déjà existante et celles rajouté par le code qu'on t'a fourni disparaissent!!!

Si c'est le cas, une fois le trie effectué il ne faut plus mettre tout simplement : .Rows(ligne).Insert à l'intérieur de ton code, à l'endroit adéquat, mais plutôt le code ci-dessous, qui est à placer APRES ton trie :
Code:
With Sheets("[COLOR="Red"][I]Feuil1[/I][/COLOR]")
    For i = .[A65536].End(xlUp).Row To 3 Step -1
      If i <> .[A65536].End(xlUp).Row And .Range("A" & i - 1) <> .Range("A" & i) Then
         .Rows(i).Insert
      End If
    Next i
End With

Feuil1 à remplacer par le nom de ton onglet

Mais si mon hypothèse est fausse, mon code ne fonctionnera pas! Voilà pourquoi j'aurais aimé (et que j'ai demandé de) voir ton code complet! Car à priori tu as utiliser la fonction trier quelque part!!!

J'ai profité de l'occasion pour te rajouter le nom de ton onglet 😉

Bonne fin de WE
 
Dernière édition:
Re : Insérer une Ligne vide a chaque Validation

Salut Exce-lent

Et bé , tout comme moi tu est un léve tôt

Merci de ta réponse

Voila je met le Fichier en question, c sera mieux
A +++
Bon dimanche

Cijoint.fr - Service gratuit de dépôt de fichiers
 
Re : Insérer une Ligne vide a chaque Validation

Bonjour,
Je ne comprends pas !
Pourquoi s'em... à insérer une ligne vide entre chaque enregistrement alors qu'il suffit (comme je te le disais au #12) de mettre l'offset de la Ligne à +2 au lieu de +1 lors de l'enregistrement (d'autant qu'insérer une ligne vide entre 2 lignes vides...)
Maintenant, une autre interprétation pour moi : on ajoute normalement les données à la dernière ligne puis on trie le tableau et on insère une ligne vide à chaque changement dans la colonne critère oui ? non ?
En outre, pourquoi ne pas utiliser un seul formulaire pour gérer ta base ?
Un exemple [thread=120368]ICI[/thread]
A+
kjin
 
Re : Insérer une Ligne vide a chaque Validation

Re a tous
Ouf j'ai trouvé ou était le probléme:

c'était ce bout de code , qui , apparament servait a rien
placé ,tout en bas de ma validation

' Sheets("Data").[A3:L5000].Sort Key1:=Sheets("Data").[A3]
'Ligne = Sheets("Data").[C:C].Find(Me.ComboBox1, LookIn:=xlValues).Row


Maintenant ça fonctionne ,une ligne vide s'incére a chaque Validation,

donc Kjin avait raison ajouter +2 a la Ligne,suivante

Ligne = Sheets("Data").[A65000].End(xlUp).Row + 2

Grand Merci a tous, pour votre aide précieuse
J'ai mis cette appli en essai, mais en fait cela doit me servir dans un autre fichier, en cours, ou c'était un peu le souk,
j'ai eu honte de la mettre en exemple

Cordialement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
237
Réponses
5
Affichages
542
Réponses
19
Affichages
712
Réponses
3
Affichages
300
Retour