VBA Excel sélectionner la première colonne vide
Résolu/Fermé- Vba dernière colonne non vide
- Dernière version ccleaner gratuit français - Télécharger - Nettoyage
- Déplacer une colonne excel - Guide
- Formule somme excel colonne - Guide
- Trier colonne excel - Guide
- Supprimer dernière page word - Guide
29 réponses
Re,
Oui c'est bien ça.
La cellule en ligne 29 et colonne 9 est la 1ere en haut à gauche du TCD5. Par contre les TCD4 et TCD5 dépendent de la fin du 3 (selon sa longueur) donc c’est des inconnus au départ.
'''Variable Haut du TCD3 = troisième cellule vide vers la droite après le TCD1
HTCD3 = Cells(1, CTCD + 3).Select
'''Variable dernière ligne remplie de l'onglet TCD du TCD3 de la colonne E
DLTCD3 = Sheets("TCD").Columns(5).Find("*", , , , xlByColumns, xlPrevious).Row
'''Variable haut du TCD4
HTCD4 = Cells(DLTCD3 + 9, 5).Select
'Variable Haut TCD5 - Selectionner la deuxième cellule vide à droite du TCD 4
HTCD5 = Cells(DLTCD3 + 9, 9).Select
Mais du coup dans cette variable, je ne vois pas quoi changer pour trouver la dernière colonne remplie du TCD5
CTCD5 = Sheets("TCD").Rows(1).Find("*", , , , xlByColumns, xlPrevious).Column
Petite question, pourquoi ne puis-je pas utiliser HTCD5 à la fois en colonne et en ligne ? ActiveCell.FormulaR1C1 = "=GETPIVOTDATA(""IEP - Venue/Passage""," & "TCD!R" & HTCD5 & "C" & HTCD5 & " )"
Merci pour ton aide ?
Amicalement
Jérôme
Re,
Merci beaucoup. Effectivement C9 est en dur. J'ai essayé
ActiveCell.FormulaR1C1 = "=GETPIVOTDATA(""IEP - Venue/Passage""," & "TCD!R" & HTCD5 & "C9" & " )"
et j'ai une erreur #REF! car il va chercher i255 ???
HTCD5 = normalement I20
Voici la ligne dans le tableur.
=LIREDONNEESTABCROISDYNAMIQUE("IEP - Venue/Passage";TCD!$I$255 )
J’aurais une autre question, j'ai besoin d'inscrire la date du jour + du texte à la suite.
J'ai fait la formule
ActiveCell.FormulaR1C1 = "=TODAY()& "" test"""
Pour copier/coller en valeur sauf que la date se met en code 44759 même quand je met en format date. Saurais tu comment faire ?
Merci pour ton aide,
Amicalement
Jérôme
17 juil. 2022 à 19:35
La valeur de HTCD ne peut pas être I20 !!! je le répète ce doit un nombre donnant le n° de ligne où débute le TCD en l’occurrence 29 d'après ton message précédent
Quand à la date il faut indiquer le format d'écriture du texte :
exemple ActiveCell.FormulaR1C1 = "=TEXT(TODAY(),""jj/mm/aa"") & "" ggg"""
mais tu pourrais mettre "jjjj jj mmmm aaaa" si tu veux une date longue, ou toute autre forme d'écriture que tu souhaite (avec des -, avec le jour en abrégé ..)
Bonjour Via,
Un très très très grand merci. Oui en effet c'était I20, mais je l'avais modifier pour faire un test et vérifier s'il fallait absolument tomber sur le résultat ou si n'importe quelle cellule du TCD fonctionnait.
Par contre, la formule va chercher la ligne i255
ActiveCell.FormulaR1C1 = "=GETPIVOTDATA(""IEP - Venue/Passage""," & "TCD!R" & HTCD5 & "C9" & " )"
=LIREDONNEESTABCROISDYNAMIQUE("IEP - Venue/Passage";TCD!$I$255 )
Super un très grand merci pour la date ça fonctionne parfaitement
Amicalement
Jérôme
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question18 juil. 2022 à 14:16
Bonjour Jérôme
Quelle valeur a la variable HTCD5 ?
Mets comme je te l'avais suggéré une ligne MsgBox juste avant ta formule ActiveCell.... pour voir quelle valeur justement, apparemment c'est 255 mais ça ne correspond pas à la réalité
Quelle est la formule qui te permet de trouver HTCD5 ?
Bonjour Via,
Désolé de ne pas être clair. J'ai créé fichier pour que ce soit peut être plus simple. C'est en fin de la Macro liste TE, travaille sur la ''Feuille Suivi global''
https://www.cjoint.com/c/LGsnmeCGf3D
Sinon entendu, je vais mettre un MSGbox devant mes variables et ça va me renvoyer la cellule c'est bien ça ?
TCD1 = Cells(1, 1).Select
TCD2 = HTCD2 = Cells(DLTCD + 9, 1).Select
TCD3 = HTCD3 = Cells(1, CTCD + 3).Select
DLTCD3 = Sheets("TCD").Columns(5).Find("*", , , , xlByColumns, xlPrevious).Row
HTCD4 = Cells(DLTCD3 + 9, 5).Select
HTCD5 = Cells(DLTCD3 + 9, 9).Select
Encore merci
Amicalement
Jérôme
18 juil. 2022 à 16:42
Re,
Comme je te l'ai déjà dit HTCD5 = Cells(DLTCD3 + 9, 9).Select fait une sélection mais ne recherche pas la ligne du TCD5 !!! Quand on met un Msgbox HTCD5 (c'est la 1ere chose à faire si on a un doute) cela renvoie bien 255 (pourquoi je ne sais pas !)
En fait ce que tu veux c'est trouver la ligne de l'en-tête du TCD placé en colonne I, c'est à dire la ligne avec le titre Étiquettes de données, c'est celle-ci dont on a besoin dans la formule
donc avant la ligne
ActiveCell.FormulaR1C1 = "=GETPIVOTDATA(""IEP - Venue/Passage""," & "TCD!R" & HTCD5 & "C9" & " )"
mets cette instruction :
HTCD5== WorksheetFunction.Match("Étiquettes de lignes", Sheets("TCD").Range("I:I"), 0) qui va trouver la bonne ligne
Re,
Merci beaucoup et pour les explications qui sont également très clair. En effet, mes HTCD1/2/3/4/5 sont en effet des sélections et non une recherche... Il faut que je revois toutes mes variables.
Merci pour l'explication des MsgBox, je le ferai dorénavant.
Quant à la dernière exécution, c'est également parfait et je t'en remercie très sincèrement
A bientôt
Amicalement
Jérôme
18 juil. 2022 à 18:33
Bien ☺
Bonne suite et à une prochaine fois
Cdlmnt
Via