[déplacé VB.NET -> VBA] Incrementer le numero d'un tableau copié collé

cs_miniboo Messages postés 14 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 10 août 2010 - 2 oct. 2009 à 18:59
cs_miniboo Messages postés 14 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 10 août 2010 - 3 oct. 2009 à 02:09
Bonjour,

Je butte sur un problème d'incrémentation, j'espère que vous pourrez m'aider.
J'ai crée une macro qui copie un tableau avec sa mise en forme et le colle sur click d'un bouton sur une autre feuille.
Le tableau est collé en dessous du premier tableau, avec une ligne de séparation.
La première colonne de mon tableau doit etre un numero en partant de 1.
Je souhaiterais que lors du click, le tableau se colle et que la première colonne contienne le numero du tableau au dessus +1.
Voila ma macro:
Sub newevent()
Sheets("source").Select
Range("A27:M32").Select
Selection.Copy
Sheets("EVENT").Select
Dim line As Integer
line = Range("a65530").End(xlUp).Row + 7
Range("a" & line).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Sub


Merci d'avance,

Olivia

6 réponses

elguevel Messages postés 718 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 22 novembre 2016 3
2 oct. 2009 à 19:37
Tu postes dans un Forum VB.Net pour un probleme d'Excel. A mon avis tu ne vas pas avoir beaucoup de réponses.
0
cs_miniboo Messages postés 14 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 10 août 2010
2 oct. 2009 à 20:10
oui je sais mais je n'ai pas trouvé le forum excel
et comme je suis novice, je pensais que le visual basic que j'utilise dans excel s'appelait VB-net...

Merci, je vais chercher un meilleur endroit pour poster!
0
Profil bloqué
2 oct. 2009 à 21:16
Excel, Word et les produits Office en général utilisent le VBA (Visual Basic for Application)

La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

GRENIER Alain
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
2 oct. 2009 à 21:47
.... topic déplacé vers le forum approprié
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Ayr Messages postés 221 Date d'inscription mercredi 9 avril 2003 Statut Membre Dernière intervention 13 décembre 2009 2
3 oct. 2009 à 00:18
Bon ben, maintenant que tu es au bon endroit , je te propose ce code :

Sub NewEvent()
    Dim SrcRangeReferences  As String
    Dim DestLine            As Integer
    Dim DestRangeReference  As String
    
    SrcRangeReferences = "A27:M32"
    DestLine = Sheets("EVENT").Range("a65530").End(xlUp).Row
    DestRangeReference = "A" & CStr(DestLine + Sheets("source").Range(SrcRangeReferences).Rows.Count + 1)
    
    Sheets("source").Range(SrcRangeReferences).Copy
    Call Sheets("EVENT").Range(DestRangeReference).PasteSpecial(Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=False)
    Sheets("EVENT").Range(DestRangeReference).Value = Sheets("EVENT").Range("A" & CStr(DestLine)).Value + 1
End Sub

En gros, tu avais déjà presque ce qu'il te fallait puisque tu calcul "line = Range("a65530").End(xlUp).Row + 7" et que "Range("a65530").End(xlUp).Row" est la cellule où se trouve le numéro précédent de tableau.

La partie "Sheets("source").Range(SrcRangeReferences).Rows.Count" permet d'avoir automatiquement le nombre de lignes du tableau source, dans le cas où on viendrait à le modifier. Dans ce cas il faudrat juste modifier la valeur de "SrcRangeReferences" pour lui donner les nouvelles références de la plage.
Pas très joli parce que ça demande de modifier le code si on modifie le tableau mais ça minimise les changements à effectuer.

A+
0
cs_miniboo Messages postés 14 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 10 août 2010
3 oct. 2009 à 02:09
genial!! merci beaucoup! je vais essayer ca des que possible mais je sens déja que ca va être parfait!

encore merci
0
Rejoignez-nous