Insertion ligne

bonjour,

merci de m'aider svp, j'ai mal à la tête et je n'y arrive plus.

je vous joint mon fichier

https://www.excel-pratique.com/~files/doc/Classeur2_BC.xls

j'aimerai insérer des lignes automatiquement à la fin du tableau et y insérer en meme temps un numéro (colonne A)

De plus j'ai encore de gros soucis avec le fait de vouloir faire clignoter certaines cellules d'un autre tableau. Mais bon commençons déja par celui ci.

Merci d'avance

Pétu

Re-,

sans avoir modifié ton code dans l'évènement de la feuille... (je pense qu'il faudra le revoir...)

regarde le fichier joint

Le code :

Sub insere_ligne()
Dim DerLig As Long
Application.ScreenUpdating = False
DerLig = [A65000].End(xlUp).Row
    Rows(DerLig & ":" & DerLig + 1).Copy
    Rows(DerLig & ":" & DerLig + 1).Insert Shift:=xlDown
    Rows(DerLig + 2 & ":" & DerLig + 3).ClearContents
Cells(DerLig + 2, 1).Value = Cells(DerLig, 1).Value + 1
End Sub

le fichier :

https://www.excel-pratique.com/~files/doc/petula_v1.zip

re,

sincèrement merci felix, ça fonctionnement très bien.

Je t'expose mon 2e problème.

en fait j'en ai déja longuement parler sur le forum, on m'a apporté des solutions mais j'ai des messages d'erreurs.

Je veux faire clignoter des lignes (je ne peux pas te faire voir mon tableu, il est trop lourd).

c'est un tableau récapitulatif de contrat de maintenance, ou il y a les colonnes libéllés, date d'effet, durée, date de fin et date de renouvellement.

je veux faire clignoter la ligne d'un contrat lorsque sa date de renouvellement approche (3 jours avant).

j'ai ce code:

Option Explicit
Public vNow As Variant
Public Sub Eclairage()
vNow = Now + TimeValue("00:00:01")
Application.OnTime vNow, "Eclairage"
ActiveWorkbook.Names.Add Name:="VarEclairage", RefersToR1C1:=1 - [VarEclairage]
End Sub
Public Sub ArrêtEclairage()
Application.OnTime EarliestTime:=vNow, _
Procedure:="Eclairage", Schedule:=False
ActiveWorkbook.Names.Add Name:="VarEclairage", RefersToR1C1:=1
End Sub

ainsi qu'une MFC:

=ET(VarEclairage;ET(X3<>"";X3<AUJOURDHUI()+3))

seulement rien a faire ça ne fonctionne pas

Merci de m'aider stp

Re-,

je voudrai bien t'aider, mais, sans la structure de ton fichier, avec quelques lignes exemples, ce sera moins facile...

Dans ton fichier joint, il n'y a pas de colonne X renseignée....

re,

ce n'est pas le meme fichier.

je t'envoie une ébauche du bon fichier

https://www.excel-pratique.com/~files/doc/lBQ88Classeur1.xls

Merci[/code]

Re-,

pas sûr d'avoir bien compris ton fichier.....

tu mets la MEFC dans la colonne H, qui comprend des formules additionnant la date d'effet + 22 mois (1 an + 10 mois), alors que dans la colonne D, tu mets une durée de validité de 3 ans.....

A quoi correspondent la date de renouvellement (colonne H), et la date de fin (qui calcule bien la fin de validité, dans la colonne E)

Pourquoi ne pas mettre la MEFC dans la colonne E?

et à quoi correspond ton code dans la feuille 1? (Worksheet_SelectionChange(ByVal Target As Range))?

Tu n'as pas de colonnes 22 ou 23 de renseignées......

Pas facile de travailler sur des bribes de fichier......

re,

je te comprend parfaitement, car le mieux pour moi serait que tu ai le fichier en entier, mais bon...on n'a pas trop le choix.

je t'explique,

les contrats sont de 2 sortes:

* tacite reconduction: reconduction automatique (colonne G), ou

* reconduction expresse (colonne F): il faut un renouvellement tous les ans jusqu'à la date de fin .

dans le cas d'une reconduction expresse, il nous faut faire un courrier à l'entreprise tous les ans pour bien confirmé notre désir de continuer avec eux.

donc meme si l'on a une date de validité, moi en tant que secrétaire, je dois aussi avoir la date pour lancer le renouvellement (colonne H).

le code dans la feuille 1, je ne saurai t'expliquer car c un copier coller.

les colonnes 22 et 23 correspondent aux colonnes F et G dans mon vrai tableau.

c'est compliqué, je sais mais c'est si imporatnt pour moi.

merci de ta patience

Re-,

je t'ai envoyé un message privé, avec mon adresse mail, afin que tu puisses joindre ton fichier

La solution sera également donnée dans ce fil

re,

ok, je te l'envoie plutard.

Merci

Pétu

RE,

pour revenir à mon 1er fichier stp, j'ai mis un code pour pouvoir mettre des croix dans les cellules des colonnes F à N. Seulement, dans ces colonnes, certaines lignes ne sont pas concernées.

je t'envoi le fichier avec des commentaires

https://www.excel-pratique.com/~files/doc/skOsLClasseur2_BC.xls

merci

RE-,

sans vraiment comprendre ce que tu veux....

rajoute en début de code :

With Target
If .Row > 3 And .Row Mod 2 = 0 Then

et en fin de code :

End If
 End If
End With

re,

dsl si je te prend de ton temps, mais en fait ce que je veux, c'est tout simplement qu'il n'y ait pas de croix dans les cellules F6 à N6 (ce sont des cellules fusionnées que j'utilise pour faire des commentaires).

j'espère avoir été plus claire.

je te remercie pour ta patience

petu

Re-,

euh, dans ton fichier, ce sont les cellules F5 à L5, F7 à L7 ......qui sont fusionnées

et normalement, le code fourni devrait correspondre...

que tu pourrais remplacer par celui-ci

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Target
If .Row > 3 And .Row Mod 2 = 0 And .Column >= 6 And .Column <= 14 Then
    .Value = "X"
    .Offset(0, 1) = ""
End If
End With
End Sub

Cependant, intercepter un changement de cellule pour y inscrire tes "X" me parait mal adapté

Un évènement double-clic me semblerait plus approprié

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
With Target
If .Row > 3 And .Row Mod 2 = 0 And .Column >= 6 And .Column <= 14 Then
    .Value = "X"
    .Offset(0, 1) = ""
End If
End With
Cancel = True
End Sub

ceci t'impose un double clic pour valider la cellule, et t'évite une erreur de manipulation

Rechercher des sujets similaires à "insertion ligne"