Autres Problème d'insertion de lignes en VBA

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 !

Papychou56

XLDnaute Nouveau
Bonjour à toutes et tous.
Papychou est bloqué..... pas grand'chose d'étonnant pour un débutant!!!
L'insertion automatique de ligne commandée par un UserForm ne se fait pas comme je le souhaite: j'arrive bien à effectuer cette insertion mais au lieu d'insérer les lignes à la suite l'une de l'autre, cela ne se fait que pour une ligne sur deux.
Par ailleurs, je n'arrive pas à conserver la virgule lors de la saisie du résultat du calcul dans la colonne "AE".
J'ai sûrement raté quelque chose, mais je ne trouve pas...
J'espère être assez clair mais je joins une copie de mon fichier.
Si quelqu’un a une idée, je la prends.
Merci à tous ceux qui nous consacrent beaucoup de leur temps.
 

Pièces jointes

Bonjour,
Je ne comprends pas cette instruction:
VB:
der_ligne = Cells(10, 1).End(xlUp)(2).Row + 1
Si c'est pour trouver la ligne suivant la dernière:
Code:
der_ligne = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1

D'autre part la colonne AE a un format Nombre avec 0 décimales.
Il faut le changer en Nombre avec 2 décimales.
 
Bonjour Dudu2.
J'ai bien essayé ton bout de code, mais ça ne fonctionne pas.
En fait, je souhaiterai que lorsque je termine le remplissage du UserForm, les données saisies soient entrée sur la ligne suivant une ligne déjà remplie, soit:
-1ère saisie: enregistrement sur la ligne numérotée 1.
-2ème saisie: enregistrement sur la ligne numérotée 2.
-3ème saisie: enregistrement sur la ligne numérotée 3.

alors que pour le moment, j'ai:
-1ère saisie: enregistrement sur la ligne numérotée 1.
-2ème saisie: enregistrement sur la ligne numérotée 3.
-3ème saisie: enregistrement sur la ligne numérotée 5.

Les lignes numérotées par un chiffre pair sont ignorées...

Où est-mon erreur? J'ai repris plusieurs fois le code sans résultat.

Par avance, merci.
 
Je n'ai ps vu qu'au départ il n'y a rien en colonne 1. Donc il faut mettre:
VB:
der_ligne = Application.Max(3, ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1)

Et puis ces instructions ne me semblent pas cohérentes, je ne comprends pas ce que tu cherches à faire avec la ligne 4 ! A supprimer.
Code:
    Range(Cells(4, 1), Cells(4, 29)).Copy Range("A" & der_ligne)
    If der_ligne <> 4 Then
      Range(Cells(der_ligne, 1), Cells(der_ligne, 29)).ClearContents
    End If
 
Quel bêta! Je tournais en rond alors que j'avais la réponse sous les yeux:

le code modifié fonctionne:

der_ligne = Cells(10, 1).End(xlUp).Row + 1

au lieu de:

der_ligne = Cells(10, 1).End(xlUp)(2).Row + 1

Par ailleurs, la colonne "AE", le format nombre avec 2 décimales ne fonctionne pas...
 
Par ailleurs, la colonne "AE", le format nombre avec 2 décimales ne fonctionne pas...
Sans titre 1.jpg
 
der_ligne = Cells(10, 1).End(xlUp).Row + 1
Ça ne marchera pas au-delà de 10 lignes.
De plus c'est toujours la colonne 1 que tu regardes et tu auras le même problème avec ma recommandation initiale, car la colonne 1 est vide en ligne 2 et tu vas écraser ta ligne de titres de la ligne 2.
L'instruction correcte est:
VB:
der_ligne = Application.Max(3, ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1)
 
Bonjour Dudu2.
J'ai rectifié mon code suivant tes préconisations et, bien sur, ça fonctionne bien mieux qu'avec le code que j'avais trouvé....
L'incrémentation des lignes est nickel et fonctionne pour toutes les lignes et au-dela de 10 lignes.
Pour la valeur numérique, c'est parfait.
Un grand merci pour toi et ta disponibilité.
Le papy débutant que je suis a encore appris grâce à toi.
Bonne journée, le sujet est résolu.
 
- 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
5
Affichages
544
Réponses
6
Affichages
158
Retour