Macro insertion ligne avec conditions

  • Initiateur de la discussion Initiateur de la discussion bobjazz
  • 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 !

bobjazz

XLDnaute Impliqué
Bonjour le Forum

Besoin d'experts pour m'aider.
J'ai des tableaux où je remplis des données entre les lignes 12 et 52, lignes de couleurs jaunes, et je voudrais rajouter une ligne en cliquant sur le bouton + avant la dernière c'est à dire la 52, comme cela je garderai mes calculs en TCD qui se situent dans d'autres onglets, sachant que je voudrais que quand je copie une ligne je garde les formules et les mises en forme conditionnelle qui sont présentes.
Est ce que le faite que je protège ma feuille sur certaines cellules posera un problème sur l'insertion d'une ligne.
Et en même temps quand j'appuie sur mes images imprimantes, j'imprime mes tableaux mais avec une plage définie, est-il possible de faire que la macro "Sub ImprimeSelection1()" s'adapte des que l'on rajoute une ligne.
Je joins un exemple de mon fichier.
Merci d'avance

Bobjazz
 

Pièces jointes

Re : Macro insertion ligne avec conditions

Bonjour
Il conviendrait de donner un nom aux lignes 12:52 par exemple "Tablo"
VB:
Sub AjoutLigne()
Dim Tablo As Range, L As Long
Set Tablo = Feuil9.[Tablo]
L = Tablo.Rows.Count
Tablo.Rows(L).Copy
Tablo.Rows(L).Insert
L = L + 1
Tablo.Rows(L).ClearContents
End Sub
est-il possible de faire que la macro "Sub ImprimeSelection1()" s'adapte des que l'on rajoute une ligne.
Travaillez dans toutes les macros avec la plage Tablo

À +
 
Dernière édition:
Re : Macro insertion ligne avec conditions

Bonjour

j'ai nommé ligne 12:52 en Tablo, mais quand je lance la macro, j'ai une erreur sur la ligne Tablo.Rows(L).Insert.
Question : Tablo évoluera chaque fois que j’insère une ligne?

Merci

Bobjazz
 
Re : Macro insertion ligne avec conditions

Question : Tablo évoluera chaque fois que j’insère une ligne?
Oui, absolument, si elle est insérée comme ça.
Quelle erreur se produit elle ? Feuil9 est il bien le CodeName de la bonne feuille (son nom VBA en somme) ?
Mettez un espion sur Tablo.Address
Ah, c'est peut être lié à une protection dont vous parliez ?
Enlevez la pour le moment ou mettez une protection dans une Workbook_Open avec attribut UserInterfaceOnly:=True
À +
 
Re : Macro insertion ligne avec conditions

RE
Je viens de trouver, cela fonctionne si j'enlève le code qui est inscrit dans la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [I12:I55]) Is Nothing Then
If Target = "Carnet" Then Target.Offset(, 23) = "Affaire_gagnée"
End If
End Sub

Comment faire pour faire fonctionner avec le code

Merci

Bobjazz
 
Re : Macro insertion ligne avec conditions

Super cela fonctionne, j’ajoute bien ma ligne avec la mise en forme mais je ne copie pas les formules
par exemple si dans CC52, j'ai "=BA52+BD52"
j'aimerai que dans la nouvelle ligne dans CC53, j'ai "BA53+BD53"
Mais dans ma ligne, il y a plein de formules

Encore merci

Bobjazz
 
Re : Macro insertion ligne avec conditions

Re

J'ai remplacé Tablo.Rows(L).ClearContents par Tablo.Rows(L).SpecialCells(xlCellTypeConstants, 23).ClearContents.
Mais j'ai une erreur : Pas de cellules correspondantes.
Pour info dans mon fichier la ligne que je copie travaille de la collone A jusqu'à JC et j'ai des colonnes qui sont masquées. Peut_être une raison

Encore merci

Bobjazz
 
Re : Macro insertion ligne avec conditions

ok je copie bien les formules, mais même les cellules que l'on doit remplir à la main.
je pense que je vais faire en sorte que la dernière ligne soit toujours propre, c'est à dire les cellules vides que l'on doit remplir et les cellules qui elles calculent automatiquement.
A moins que tu as un code pour que cela se fasse en vba
Encore merci de ta patience
Bobjazz
 
Re : Macro insertion ligne avec conditions

Bon. Je remets la procédure complète. Normalement elle devrait effacer les cellules qui contiennent autre chose que des formules dans la dernière ligne.
VB:
Sub AjoutLigne()
Dim Tablo As Range, L As Long
Set Tablo = Feuil9.[Tablo]
L = Tablo.Rows.Count
Application.EnableEvents = False
Tablo.Rows(L).Copy
Tablo.Rows(L).Insert
L = L + 1
On Error Resume Next
Tablo.Rows(L).SpecialCells(xlCellTypeConstants, 23).ClearContents
Application.EnableEvents = True
End Sub
 
Re : Macro insertion ligne avec conditions

Un seul mot Merci, cela fonctionne.
Si je peux encore un peu abuser de ta patience
J'ai ce code dans ma feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [I12:I55]) Is Nothing Then
If Target = "Carnet" Then Target.Offset(, 23) = "Affaire_gagnée"
End If
End Sub
C'est pour forcer la colonne AF a mettre "Affaire_gagnée" si dans la colonne I j'ai "Carnet"
Mais maintenant comment je pourrais intégrer comme "Tablo" pour ma colonne I, je bug pourtant j'ai mis un nom à la colonne I12:I52
Merci d'avance

Bobjazz
 
Re : Macro insertion ligne avec conditions

Essayez
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [I:I Tablo]) Is Nothing Then
   If Target = "Carnet" Then Target.Offset(, 23) = "Affaire_gagnée"
   End If
End Sub
Je vous signale que les listes de validations peuvent être mises dans d'autres feuilles à condition de leur donner un nom et d'utiliser =ce nom comme liste dans la validation.
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

  • Question Question
Microsoft 365 Tableau
Réponses
24
Affichages
1 K
Retour