Bouton sur tableau ou à côté

TURGUT-BEY Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   -  
TURGUT-BEY Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   - 23 févr. 2017 à 14:43
Bonjour,

Comment créer un bouton sur un tableau de 5 colonne, quand je clic sur le bouton j'ajoute une ligne avec les meme caractéristique que celle qui la précede ?

Merci

A voir également:

2 réponses

Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 779
 
Bonjour,

Insère un bouton activeX sur la feuille (onglet Développeur/Inserer) et dans le module de feuille, ajoutes ce code :

Option Explicit
Private Sub CommandButton1_Click()
  Call InsertARow
End Sub
Sub InsertARow()
  ActiveCell.EntireRow.Insert Shift:=xlDown
  ActiveCell.Offset(-1, 0).EntireRow.Copy Cells(ActiveCell.Row, 1)
  On Error Resume Next
  ActiveCell.EntireRow.SpecialCells(xlCellTypeConstants, xlNumbers + _
    xlTextValues + xlLogical + xlErrors).ClearContents
End Sub

Cordialement
Patrice
1
TURGUT-BEY Messages postés 13 Date d'inscription   Statut Membre Dernière intervention  
 
Tres bien merci infiniment, maintenant je veux que le bouton soit relier toujours à la derniere ligne du tableau, comment faire ?
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 779
 
Il ne faut des informations complémentaires :

1. Dans quelles colonnes se situe le tableau ?
2. A partir de quelle ligne ?
3. Le tableau est-il continu, c'est-à-dire qu'il n'y a jamais de ligne entièrement vide ni de colonne entièrement vide (i.e sans titre) ?

et si la réponse à 3 est non :
4 . Y-a-t-il une des 5 colonnes qui est toujours renseignée ? si oui laquelle ?
0
TURGUT-BEY Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   > Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

C'est un tableau continu, quelques colonnes sont reliées a d'autres colonnes du tableau (des conditions).
Je suis sur la ligne 27 (son numero sur le tableau est 21).

Merci
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 779
 
Bonjour,

Comme tu n'as pas répondu précisement aux 3 questions, j'ai supposé que la première cellule de ton tableau se situe en C27.
Adapte le code à ton besoin
Option Explicit
Private Sub CommandButton1_Click()
  Call CopierDernièreLigne
End Sub

Sub CopierDernièreLigne()
Dim rng As Range
    ' Définir le tableau (qui commence en C27)
    Set rng = ActiveSheet.Range("C27").CurrentRegion
    ' Définir la dernière ligne du tableau
    Set rng = ActiveSheet.Rows(rng.Row + rng.Rows.Count - 1)
    ' Copier la ligne sur la suivante
    rng.Copy rng.Offset(1)
    ' Effacer les constantes
    rng.Offset(1).SpecialCells(xlCellTypeConstants, xlNumbers + _
                  xlTextValues + xlLogical + xlErrors).ClearContents
End Sub

0
TURGUT-BEY Messages postés 13 Date d'inscription   Statut Membre Dernière intervention  
 
Tres bien, mais un probleme a occuré..
quand je click une deuxieme fois un message s'ouvre : erreur d'exécution 1004 / pas de cellules correspendantes / Fin ou débogage ou aide

quand je click débogage cette commande se met en jaune :
rng.Offset(1).SpecialCells(xlCellTypeConstants, xlNumbers + _
xlTextValues + xlLogical + xlErrors).ClearContents
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 779
 
Effectivement, l'erreur survient quand la dernière ligne ne contient pas de donnée ..

Ajoutes les deux lignes n° 2 et 5 :
    ' Effacer les constantes
    On Error Resume Next
    rng.Offset(1).SpecialCells(xlCellTypeConstants, xlNumbers + _
                  xlTextValues + xlLogical + xlErrors).ClearContents
    On Error GoTo 0
0
TURGUT-BEY Messages postés 13 Date d'inscription   Statut Membre Dernière intervention  
 
derniere question, sur mon tableau j' ai une colonne C prend =B+6 (Colonne B est une date)
le probleme c'est que si la cellule B est vide C n'est pas vide mais prend la date de 01/01/1900

comment réctifier ceci.
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 779 > TURGUT-BEY Messages postés 13 Date d'inscription   Statut Membre Dernière intervention  
 
Avec une formule du genre :
=SI(B2>0;B2+6;"")
0
TURGUT-BEY Messages postés 13 Date d'inscription   Statut Membre Dernière intervention  
 
Je vous remercie,
bon travail.
0