Ajout d'une ligne
Résolu
Luke94
Messages postés
61
Date d'inscription
Statut
Membre
Dernière intervention
-
Luke94 Messages postés 61 Date d'inscription Statut Membre Dernière intervention -
Luke94 Messages postés 61 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai plusieurs tableaux dans ma feuille de calcul.
J'aimerais pouvoir créer pour chaque tableau un bouton me permettant via une une macro d'ajouter une ligne sur ce tableau en particuliers ?
Merci d'avance pour votre aide !
j'ai plusieurs tableaux dans ma feuille de calcul.
J'aimerais pouvoir créer pour chaque tableau un bouton me permettant via une une macro d'ajouter une ligne sur ce tableau en particuliers ?
Merci d'avance pour votre aide !
A voir également:
- Ajout d'une ligne
- Partager photos en ligne - Guide
- Mètre en ligne - Guide
- Aller à la ligne excel - Guide
- Ajout snap sans rien d'écrit - Forum Snapchat
- Apparaitre hors ligne instagram - Guide
10 réponses
Bonjour,
Utilisez l'enregistreur de macro. Après on pourra adapter. Mais sans avoir ni colonne, ni ligne, ni rien, difficile de vous sortir une macro comme ça.
Peut-être un exemple de fichier anonymé?
https://www.cjoint.com/
Cordialement.
Utilisez l'enregistreur de macro. Après on pourra adapter. Mais sans avoir ni colonne, ni ligne, ni rien, difficile de vous sortir une macro comme ça.
Peut-être un exemple de fichier anonymé?
https://www.cjoint.com/
Cordialement.
Bonsoir,
voici le lien vers le document :
http://www.cjoint.com/c/EJmtqSz48oL
Mon but est de pouvoir trouver la dernière ligne du tableau 1, d'ajouter une ligne vierge juste en dessous de cette dernière ligne de ce seul tableau.
De même pour les autres tableaux.
Merci d'avance et bonne soirée !
voici le lien vers le document :
http://www.cjoint.com/c/EJmtqSz48oL
Mon but est de pouvoir trouver la dernière ligne du tableau 1, d'ajouter une ligne vierge juste en dessous de cette dernière ligne de ce seul tableau.
De même pour les autres tableaux.
Merci d'avance et bonne soirée !
Bonjour,
Le fichier modifié :
https://www.cjoint.com/c/EJng3stixyf
J'ai juste un peu modifié l'organisation. Des tableaux les uns en dessous des autres rendent les choses assez compliquées pour trouver la dernière ligne. Si cela vous dérange vraiment, on peut essayer de changer.
De plus, une ligne est ajoutée au tableau uniquement si la dernière ligne de ce tableau est remplie (au moins la colonne A).
Cordialement.
Le fichier modifié :
https://www.cjoint.com/c/EJng3stixyf
J'ai juste un peu modifié l'organisation. Des tableaux les uns en dessous des autres rendent les choses assez compliquées pour trouver la dernière ligne. Si cela vous dérange vraiment, on peut essayer de changer.
De plus, une ligne est ajoutée au tableau uniquement si la dernière ligne de ce tableau est remplie (au moins la colonne A).
Cordialement.
Bonsoir,
merci pour votre aide mais je ne parviens pas à ouvrir le lien.
Je suis contraint d'avoir ces tableaux les uns en dessous des autres dans le cadre de ce projet.
Je confirme que le besoin d'ajouter une ligne est nécessaire uniquement si la dernière ligne de ce tableau est rempli.
Cordialement.
merci pour votre aide mais je ne parviens pas à ouvrir le lien.
Je suis contraint d'avoir ces tableaux les uns en dessous des autres dans le cadre de ce projet.
Je confirme que le besoin d'ajouter une ligne est nécessaire uniquement si la dernière ligne de ce tableau est rempli.
Cordialement.
Voici le fichier modifié, j'ai affecté les macros à vos boutons. Cette fois j'ai gardé votre présentation initiale :
https://www.cjoint.com/c/EJohPlEiiFf
Si vous ne parvenez pas à l'ouvrir, allez dans Visual Basic, créez un module et coller le code suivant :
Vous n'avez plus qu'à affecter vos macros à vos boutons.
Cordialement.
https://www.cjoint.com/c/EJohPlEiiFf
Si vous ne parvenez pas à l'ouvrir, allez dans Visual Basic, créez un module et coller le code suivant :
Sub AJOUTER_LIGNE1() Dim DL As Long DL = 1 Do While Not IsEmpty(Range("A" & DL)) DL = DL + 1 Loop Rows(DL).Insert Shift:=xlDown Range(Cells(DL, 1), Cells(DL, 2)).Merge With Range(Cells(DL, 1), Cells(DL, 4)).Borders .LineStyle = xlContinuous .Weight = xlThin End With End Sub Sub AJOUTER_LIGNE2() Dim DL As Long, DL2 As Long DL = 1 Do While Not IsEmpty(Range("A" & DL)) DL = DL + 1 Loop DL2 = DL + 5 Do While Not IsEmpty(Range("A" & DL2)) DL2 = DL2 + 1 Loop Rows(DL2).Insert Shift:=xlDown Range(Cells(DL2, 1), Cells(DL2, 2)).Merge With Range(Cells(DL2, 1), Cells(DL2, 4)).Borders .LineStyle = xlContinuous .Weight = xlThin End With End Sub Sub AJOUTER_LIGNE3() Dim DL As Long DL = Cells(Application.Rows.Count, 1).End(xlUp).Row Rows(DL + 1).Insert Shift:=xlDown Range(Cells(DL + 1, 1), Cells(DL + 1, 2)).Merge With Range(Cells(DL + 1, 1), Cells(DL + 1, 4)).Borders .LineStyle = xlContinuous .Weight = xlThin End With End Sub
Vous n'avez plus qu'à affecter vos macros à vos boutons.
Cordialement.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour Luke94,
Bonjour Kuartz,
Une autre proposition avec une procédure qui est lancée lorsque l'on effectue un double-clic sur l'en-tête du tableau.
https://www.cjoint.com/c/EJoisxaaYjG
A+
Bonjour Kuartz,
Une autre proposition avec une procédure qui est lancée lorsque l'on effectue un double-clic sur l'en-tête du tableau.
https://www.cjoint.com/c/EJoisxaaYjG
A+
Bonsoir,
merci beaucoup pour votre aide et vos messages que je découvre car de retour de mission à l'étranger.
Je viens de tester la solution de Kuartz et elle répond parfaitement à mon besoin. Je verrai maintenant lundi au bureau comment je l'adapte à mon fichier source.
Merci également à Gyrus pour l'envoi de son fichier. En revanche, j'ai plus de mal à comprendre le fonctionnement. Cela fonctionne bien avec le Tableau1 mais pas les autres (du moins, je n'ai pas su le faire fonctionner).
Je vous rassure, ce n'est pas mon genre ne pas remercier les personnes pour le temps qu'elles ont bien voulu consacrer à mon problème.
En vous souhaitant un excellent week end.
merci beaucoup pour votre aide et vos messages que je découvre car de retour de mission à l'étranger.
Je viens de tester la solution de Kuartz et elle répond parfaitement à mon besoin. Je verrai maintenant lundi au bureau comment je l'adapte à mon fichier source.
Merci également à Gyrus pour l'envoi de son fichier. En revanche, j'ai plus de mal à comprendre le fonctionnement. Cela fonctionne bien avec le Tableau1 mais pas les autres (du moins, je n'ai pas su le faire fonctionner).
Je vous rassure, ce n'est pas mon genre ne pas remercier les personnes pour le temps qu'elles ont bien voulu consacrer à mon problème.
En vous souhaitant un excellent week end.
Bonjour Luke94,
Surtout, ne te formalises pas pour nos petites piques, nous avons pris l'habitude de ne pas recevoir de retour et nous préférons tourner ça à la dérision.
Pour te répondre, il est normal que tu ne vois pas d'effet sur les 2 autres tableaux car la ligne supplémentaire n'est ajoutée que lorsque le tableau est rempli, ce qui n'est la cas que pour le Tableau1.
A+
Surtout, ne te formalises pas pour nos petites piques, nous avons pris l'habitude de ne pas recevoir de retour et nous préférons tourner ça à la dérision.
Pour te répondre, il est normal que tu ne vois pas d'effet sur les 2 autres tableaux car la ligne supplémentaire n'est ajoutée que lorsque le tableau est rempli, ce qui n'est la cas que pour le Tableau1.
A+
Bonjour,
Nous avons en effet beaucoup l'habitude que les internautes laissent leurs posts mourir dans donner la moindre réponse alors que les gens passent parfois du temps à répondre. Je vous prie de m'excuser pour ma dernière réponse.
Néanmoins, si vous avez besoin d'aide pour adapter le code à votre fichier, n'hésitez pas à me le dire.
Quand votre fichier marchera comme vous voulez, merci de passer le sujet en "résolu".
Cordialement.
Nous avons en effet beaucoup l'habitude que les internautes laissent leurs posts mourir dans donner la moindre réponse alors que les gens passent parfois du temps à répondre. Je vous prie de m'excuser pour ma dernière réponse.
Néanmoins, si vous avez besoin d'aide pour adapter le code à votre fichier, n'hésitez pas à me le dire.
Quand votre fichier marchera comme vous voulez, merci de passer le sujet en "résolu".
Cordialement.
Bonsoir,
comme convenu, j'ai testé aujourd'hui le code proposé.
Mon souci est que je dispose de plusieurs tableaux mais certains ne sont pas forcément alignés sur la même colonne. Le code fourni prend en compte le 2nd tableau en indiquent un décalage de 5 lignes mais ce n'est pas forcément le cas et parfois pas sur la même colonne...
Pensez vous qu'il soit possible d'établir un code dans lequel je préciserais le nom du tableau (j'aurai auparavant fourni un nom aux différents tableaux : Tableau1, Tableau2,...).
Merci d'avance pour vos réponses et bonne soirée !
Cordialement.
comme convenu, j'ai testé aujourd'hui le code proposé.
Mon souci est que je dispose de plusieurs tableaux mais certains ne sont pas forcément alignés sur la même colonne. Le code fourni prend en compte le 2nd tableau en indiquent un décalage de 5 lignes mais ce n'est pas forcément le cas et parfois pas sur la même colonne...
Pensez vous qu'il soit possible d'établir un code dans lequel je préciserais le nom du tableau (j'aurai auparavant fourni un nom aux différents tableaux : Tableau1, Tableau2,...).
Merci d'avance pour vos réponses et bonne soirée !
Cordialement.
Bonjour,
Sans aucun problème. Si vous nommez vos tableaux, vous pouvez ensuite les utiliser dans votre code de la manière suivante :
Par exemple vous indique la colonne 4 du tableau "le nom du tableau"
Définissez les variables "dernière ligne" ainsi :
Du coup vous pourrez ensuite mettre exactement le même code ainsi :
Si vous avez besoin d'aide, joignez un fichier exemple avec des noms de tableaux.
Cordialement.
Sans aucun problème. Si vous nommez vos tableaux, vous pouvez ensuite les utiliser dans votre code de la manière suivante :
Range("le nom du tableau").Columns(4)
Par exemple vous indique la colonne 4 du tableau "le nom du tableau"
Définissez les variables "dernière ligne" ainsi :
DL = Range("le nom du tableau").Rows.Count
Du coup vous pourrez ensuite mettre exactement le même code ainsi :
DL = 1 Do While Not IsEmpty(Range("la colonne" & DL)) DL = DL + 1 Loop Rows(DL).Insert Shift:=xlDown Range("le nom du tableau").Range((Cells(DL, 1), Cells(DL, 2)).Merge With Range("le nom du tableau").Range(Cells(DL, 1), Cells(DL, 4)).Borders .LineStyle = xlContinuous .Weight = xlThin End With
Si vous avez besoin d'aide, joignez un fichier exemple avec des noms de tableaux.
Cordialement.