Bouton "Ajout de ligne"
Résolu/Fermé
Frozenfrigo
Messages postés
21
Date d'inscription
samedi 30 janvier 2016
Statut
Membre
Dernière intervention
1 août 2016
-
28 juin 2016 à 08:20
Frozenfrigo Messages postés 21 Date d'inscription samedi 30 janvier 2016 Statut Membre Dernière intervention 1 août 2016 - 29 juin 2016 à 09:50
Frozenfrigo Messages postés 21 Date d'inscription samedi 30 janvier 2016 Statut Membre Dernière intervention 1 août 2016 - 29 juin 2016 à 09:50
A voir également:
- Excel bouton ajouter ligne
- Aller à la ligne excel - Guide
- Liste déroulante excel - Guide
- Si et excel - Guide
- Partager photos en ligne - Guide
- Vente en ligne particulier - Guide
6 réponses
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 712
28 juin 2016 à 09:15
28 juin 2016 à 09:15
Bonjour,
1ere question
Pour utiliser à la fois une date et une heure dans la même cellule
il faut la saisir correctement
et avoir un format personnalisé
Deuxièmement,
renvoie la valeur actuelle de la cellule c10:c14 en colonne 2
c10:c14 n'est pas une cellule mais une plage : de quelle cellule veux-tu la valeur ?
1ere question
Pour utiliser à la fois une date et une heure dans la même cellule
il faut la saisir correctement
28/6/16 8:15
et avoir un format personnalisé
jjj j mmm hh"h"mmpour la visualiser selon ton désir.
Deuxièmement,
renvoie la valeur actuelle de la cellule c10:c14 en colonne 2
c10:c14 n'est pas une cellule mais une plage : de quelle cellule veux-tu la valeur ?
Frozenfrigo
Messages postés
21
Date d'inscription
samedi 30 janvier 2016
Statut
Membre
Dernière intervention
1 août 2016
28 juin 2016 à 09:27
28 juin 2016 à 09:27
Pardon j'ai en effet confondu le nom et le contenu de la cellule en question: Il s'agit de c15.
Pour la date&heure j'ai réussi, merci beaucoup! en effet j'ai trouvé le format.
Pour la date&heure j'ai réussi, merci beaucoup! en effet j'ai trouvé le format.
Frozenfrigo
Messages postés
21
Date d'inscription
samedi 30 janvier 2016
Statut
Membre
Dernière intervention
1 août 2016
28 juin 2016 à 20:21
28 juin 2016 à 20:21
Je me permets de faire remonter ce sujet...
Frozenfrigo
Messages postés
21
Date d'inscription
samedi 30 janvier 2016
Statut
Membre
Dernière intervention
1 août 2016
29 juin 2016 à 00:36
29 juin 2016 à 00:36
Toujours pas de solution pour cette macro? J'ai vraiment besoin d'aide svp, je suis complétement imperméable au code... je ne comprends absolument pas...
Frozenfrigo
Messages postés
21
Date d'inscription
samedi 30 janvier 2016
Statut
Membre
Dernière intervention
1 août 2016
29 juin 2016 à 00:40
29 juin 2016 à 00:40
en gros:
-Ajouter une ligne "tableau1" (en bas)
-Colonne 1 "Maintenant (date & heure à l'instant ou je clique" Colonne 2 valeur de la cellule c15 (attention le contenu de la cellule est une formule, il faut entrer la valeur et non la formule)
-Actualiser
-Ajouter une ligne "tableau1" (en bas)
-Colonne 1 "Maintenant (date & heure à l'instant ou je clique" Colonne 2 valeur de la cellule c15 (attention le contenu de la cellule est une formule, il faut entrer la valeur et non la formule)
-Actualiser
Frozenfrigo
Messages postés
21
Date d'inscription
samedi 30 janvier 2016
Statut
Membre
Dernière intervention
1 août 2016
29 juin 2016 à 08:18
29 juin 2016 à 08:18
Alors j'ai pu avancer un peu seul, voici ce que j'ai reussi à faire avec l'enregistreur de macro:
Sub Macro_Bouton()
'
' Macro_Bouton Macro
'
'
Range("Tableau1[#All,[Colonne1]]").Select
Selection.ListObject.ListRows.Add AlwaysInsert:=True
Range("B22").Select
Selection.Copy
Range("B25").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("D17").Select
Application.CutCopyMode = False
Selection.Copy
Range("C25").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("D17").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
J'ai donc bien un ajout de ligne en bas du tableau, il copie la valeur temps dans la première colonne et la valeur que je veux dans la seconde. Ca marche super!
J'ai par contre un dernier problème: ça ne marche qu'une fois, après il ajoute des lignes vides. Je vois le problème:
Range("B25").Select Selection.PasteSpecial
et également
Range("C25").Select Selection.PasteSpecial
Ce n'est pas en B25 et en C25 que je veux mais valeurs, enfin la première fois oui, mais après, il faudra qu'il passe à la ligne d'après!
Il faut donc lui dire "coller dans la dernière ligne de la colonne 1" et "dernière de la colonne 2".
La macro est basée sur une cellule (B22) ayant pour contenu =maintenant.
Il faudrait donc ajouter un "actualiser" en début de macro si possible!
Merci de votre aide!
Sub Macro_Bouton()
'
' Macro_Bouton Macro
'
'
Range("Tableau1[#All,[Colonne1]]").Select
Selection.ListObject.ListRows.Add AlwaysInsert:=True
Range("B22").Select
Selection.Copy
Range("B25").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("D17").Select
Application.CutCopyMode = False
Selection.Copy
Range("C25").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("D17").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
J'ai donc bien un ajout de ligne en bas du tableau, il copie la valeur temps dans la première colonne et la valeur que je veux dans la seconde. Ca marche super!
J'ai par contre un dernier problème: ça ne marche qu'une fois, après il ajoute des lignes vides. Je vois le problème:
Range("B25").Select Selection.PasteSpecial
et également
Range("C25").Select Selection.PasteSpecial
Ce n'est pas en B25 et en C25 que je veux mais valeurs, enfin la première fois oui, mais après, il faudra qu'il passe à la ligne d'après!
Il faut donc lui dire "coller dans la dernière ligne de la colonne 1" et "dernière de la colonne 2".
La macro est basée sur une cellule (B22) ayant pour contenu =maintenant.
Il faudrait donc ajouter un "actualiser" en début de macro si possible!
Merci de votre aide!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 712
29 juin 2016 à 09:07
29 juin 2016 à 09:07
Bonjour,
Si j'ai bien compris, ton tableau est en colonne B et tu veux avoir une nouvelle ligne avec en B le jour et l'heure puis en C la valeur de la ligne précédente. Voilà ce que cela pourrait donner :
Si j'ai bien compris, ton tableau est en colonne B et tu veux avoir une nouvelle ligne avec en B le jour et l'heure puis en C la valeur de la ligne précédente. Voilà ce que cela pourrait donner :
Sub Macro_Bouton() ' ' Macro_Bouton Macro ' Dim lig As Long lig = Range("Tableau1").Rows.Count + Range("Tableau1").Row - 1 Range("Tableau1").ListObject.ListRows.Add AlwaysInsert:=True Cells(lig, "C").Copy Cells(lig + 1, "C").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Cells(lig + 1, "B").Value = Now Application.CutCopyMode = False Cells(lig + 1, "D").Activate End Sub
Frozenfrigo
Messages postés
21
Date d'inscription
samedi 30 janvier 2016
Statut
Membre
Dernière intervention
1 août 2016
29 juin 2016 à 09:50
29 juin 2016 à 09:50
Merci mais j'ai fini par réussir avec ça finalement!
Sub Macro16()
'
' Macro16 Macro
'
'
Range("Tableau1[#All,[Colonne1]]").Select
Selection.ListObject.ListRows.Add (1)
Range("J2").Select
Selection.Copy
Range("B22").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("K2").Select
Application.CutCopyMode = False
Selection.Copy
Range("C22").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("D21").Select
Application.CutCopyMode = False
ActiveSheet.Shapes.Range(Array("Button 51")).Select
Selection.OnAction = "Macro16"
Range("H19").Select
End Sub
Au lieu d'ajouter les lignes en bas, j'ajoute en haut et copie les valeurs dans la même case à chaque fois.
Merci quand même!
Sub Macro16()
'
' Macro16 Macro
'
'
Range("Tableau1[#All,[Colonne1]]").Select
Selection.ListObject.ListRows.Add (1)
Range("J2").Select
Selection.Copy
Range("B22").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("K2").Select
Application.CutCopyMode = False
Selection.Copy
Range("C22").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("D21").Select
Application.CutCopyMode = False
ActiveSheet.Shapes.Range(Array("Button 51")).Select
Selection.OnAction = "Macro16"
Range("H19").Select
End Sub
Au lieu d'ajouter les lignes en bas, j'ajoute en haut et copie les valeurs dans la même case à chaque fois.
Merci quand même!
28 juin 2016 à 12:02