Problème code macro

Résolu/Fermé
didsyl Messages postés 36 Date d'inscription lundi 4 juin 2012 Statut Membre Dernière intervention 29 avril 2021 - 13 févr. 2021 à 18:05
didsyl Messages postés 36 Date d'inscription lundi 4 juin 2012 Statut Membre Dernière intervention 29 avril 2021 - 14 févr. 2021 à 12:38
Bonjour à tous,

je reviens encore une fois vers vous pour un problème de code macro.

Je ne maîtrise pas du tout le codage, je travaille donc toujours en "enregistrant" une macro...
Dans celle reprise ci-dessous, au fur et à mesure de mon travail, j'ajoute des lignes dans mon tableau. je voudrais donc que la ligne "Range("AJ19:$AJ$34").Select" aille en fait jusqu'à la fin de mon tableau en tenant compte des lignes insérées. J'ai essayé en mettant des $ devant AJ et 34 mais cela ne change rien.
Y aurait-il un code qui lui dirai d'aller jusqu'à la dernière ligne du tableau?

Merci d'avance à ceux qui se pencheront sur mon problème.

Sub modificationcelluletotal()
'
' modificationcelluletotal Macro
'

'
ActiveSheet.Unprotect
Range("AJ19:AL19").Select
Selection.Copy
Range("AJ19:$AJ$34").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("A26").Select
Application.CutCopyMode = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub


Configuration: Macintosh / Safari 14.0.3
A voir également:

2 réponses

M-12 Messages postés 1333 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 8 avril 2023 299
13 févr. 2021 à 18:32
Bonjour,
Si dans ton montage, la colonne A est la dernière ligne remplie (sinon, changer la lettre A en B ou autres)
Range("AJ19:$AJ"&Range("A" & Rows.Count).End(xlUp).Row).Select
0
didsyl Messages postés 36 Date d'inscription lundi 4 juin 2012 Statut Membre Dernière intervention 29 avril 2021
14 févr. 2021 à 10:55
Bonjour et merci pour cette réponse,
Elle fonctionne mais pas tout à fait. Je m'explique:
La macro copie bien les formules dans les nouvelles lignes insérée, mais elle ajoute des lignes dans le bas de mon tableau ( en dessous de ma dernière ligne) . Ne comprenant pas trop ce langage, je ne vois pas ce que je devrais modifier.

Je ne comprend pas bien ce que vous voulez dire avec
"la colonne A est la dernière ligne remplie (sinon, changer la lettre A en B ou autres)"
Mon tableau commence en A19 et fini en AL19 pour les colonnes.
Le nombre de ligne varient en fonction du nombre de lignes insérées (en provenance d'un autre tableau) Je dois donc copier les formules situées en "AJ19, AK19 et AL19" et les recopier sur toutes les lignes du tableau (dans les colonnes "AJ, AK et AL").
D'avance merci
0
M-12 Messages postés 1333 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 8 avril 2023 299 > didsyl Messages postés 36 Date d'inscription lundi 4 juin 2012 Statut Membre Dernière intervention 29 avril 2021
14 févr. 2021 à 10:59
Re,
Sans avoir de classeur modèle sous la main !!
0
didsyl Messages postés 36 Date d'inscription lundi 4 juin 2012 Statut Membre Dernière intervention 29 avril 2021 > M-12 Messages postés 1333 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 8 avril 2023
14 févr. 2021 à 11:07
je crois que je viens de comprendre, il y a des cellules occupées sous mon tableau et si je ne me trompe pas, votre solution va jusqu'à la dernière cellule non vide, hors je dois m'arrêter à la fin de mon tableau. Y-a-t-il moyen d'ajouter des "balises" je ne sais pas comment expliquer, pour définir le tableau?

Je suis désolé de ne pas pouvoir mettre mon tableau, mais il fait partie de mon "programme" de facturation, et contient évidemment des données sensibles pour le RGPD, je vais donc essayer de le copier et vider toutes les infos sensibles, mais ça va être assez compliqué je pense
0
didsyl Messages postés 36 Date d'inscription lundi 4 juin 2012 Statut Membre Dernière intervention 29 avril 2021 > didsyl Messages postés 36 Date d'inscription lundi 4 juin 2012 Statut Membre Dernière intervention 29 avril 2021
Modifié le 14 févr. 2021 à 11:51
En cherchant un peu, j'ai trouvé l'explication sur votre "formule" et je pense qu'il faudrait lui ajouter quelque part "offset(-6)" car j'ai encore 6 lignes sous mon tableau. J'ai essayé de l'inclure dans votre formule, mais je n'y arrive pas
Range("AJ19:$AJ" & Range("AJ" & Rows.Count).End(xlUp).offset(-6).).Select
J'ai essayé de plusieurs façons mais sans résultats. Si vous avez une idée, je suis preneur.
Merci
0
didsyl Messages postés 36 Date d'inscription lundi 4 juin 2012 Statut Membre Dernière intervention 29 avril 2021 > didsyl Messages postés 36 Date d'inscription lundi 4 juin 2012 Statut Membre Dernière intervention 29 avril 2021
14 févr. 2021 à 12:38
Range("AJ19:$AJ" & Range("AJ" & Rows.Count).End(xlUp).Offset(-6).Row).Select

Voilà.

Merci encore de m'avoir mis sur la piste
0
didsyl Messages postés 36 Date d'inscription lundi 4 juin 2012 Statut Membre Dernière intervention 29 avril 2021
Modifié le 14 févr. 2021 à 10:56
Bonjour et merci pour cette réponse,
Elle fonctionne mais pas tout à fait. Je m'explique:
La macro copie bien les formules dans les nouvelles lignes insérée, mais elle ajoute des lignes dans le bas de mon tableau ( en dessous de ma dernière ligne) . Ne comprenant pas trop ce langage, je ne vois pas ce que je devrais modifier.

Je ne comprend pas bien ce que vous voulez dire avec
"la colonne A est la dernière ligne remplie (sinon, changer la lettre A en B ou autres)"
Mon tableau commence en A19 et fini en AL19 pour les colonnes.
Le nombre de ligne varient en fonction du nombre de lignes insérées (en provenance d'un autre tableau) Je dois donc copier les formules situées en "AJ19, AK19 et AL19" et les recopier sur toutes les lignes du tableau (dans les colonnes "AJ, AK et AL").
D'avance merci
0