Dernière ligne d'une feuille_VBA
RodyRody
Messages postés
48
Statut
Membre
-
RodyRody Messages postés 48 Statut Membre -
RodyRody Messages postés 48 Statut Membre -
Bonjour,
Désolé de revenir vers vous avec un sujet déjà tellement traité. Mais pourtant malgré les recherches que je fais sur le forum je ne vois pas ce qui cloche dans mon code.
J'ai une erreur sur la ligne 5 de mon code: "Set plage = WS.Range("A2:A " & dernl) "
Est ce que par hasard quelque chose que j'aurais oublié vous saute au yeux ??
Dim plage As Range
Dim cellule As Range
Dim dernl As Long
dernl = Range("A65536").End(xlUp)
Set plage = WS.Range("A2:A " & dernl) => erreur 1004
For Each cellule In plage
cellule.Offset(0, 13).Value = cellule.Offset(0, 0).Value & cellule.Offset(0, 11).Value & cellule.Offset(0, 12)
Next
Merci à tous
Désolé de revenir vers vous avec un sujet déjà tellement traité. Mais pourtant malgré les recherches que je fais sur le forum je ne vois pas ce qui cloche dans mon code.
J'ai une erreur sur la ligne 5 de mon code: "Set plage = WS.Range("A2:A " & dernl) "
Est ce que par hasard quelque chose que j'aurais oublié vous saute au yeux ??
Dim plage As Range
Dim cellule As Range
Dim dernl As Long
dernl = Range("A65536").End(xlUp)
Set plage = WS.Range("A2:A " & dernl) => erreur 1004
For Each cellule In plage
cellule.Offset(0, 13).Value = cellule.Offset(0, 0).Value & cellule.Offset(0, 11).Value & cellule.Offset(0, 12)
Next
Merci à tous
A voir également:
- Dernière ligne d'une feuille_VBA
- Supprimer dernière page word - Guide
- Partager photos en ligne - Guide
- Dernière version chrome - Accueil - Applications & Logiciels
- Mètre en ligne - Guide
- Formulaire en ligne de meta - Guide
6 réponses
Oui aussi je rajoute pour plus de compréhension que quand je rajoute un msg box pr voir la donnée que je trouve en dernl j'ai 0. Mais je ne comprends pas pourquoi ???
dernl = Range("A65530").End(xlUp)
MsgBox dernl
dernl = Range("A65530").End(xlUp)
MsgBox dernl
Bonjour,
voici une astuce (merci à pijaku pour cette fiche) qui vous dira comment obtenir la dernière ligne non vide.
Cordialement.
Ce mec la n'était pas une lumière, car il était niais.
voici une astuce (merci à pijaku pour cette fiche) qui vous dira comment obtenir la dernière ligne non vide.
Cordialement.
Ce mec la n'était pas une lumière, car il était niais.
Bonjour Chossette9.
J'avais déjà étudié le lien de Pijaku et pourtant je ne résoud tjrs pas mon problème.
Dim plage As Range
Dim cellule As Range
Dim DernLigne As Long
DernLigne = Range("A" & Rows.Count).End(xlUp).Row
MsgBox DernLigne
Le msgbox me donne tjrs "1"
Je mets un lien vers mon fichier voir si vous comprenez quelque chose. Sinon je contournerai le problème? Merci beaucoup de vos efforts.
https://www.cjoint.com/?BAuquKNqt89
J'avais déjà étudié le lien de Pijaku et pourtant je ne résoud tjrs pas mon problème.
Dim plage As Range
Dim cellule As Range
Dim DernLigne As Long
DernLigne = Range("A" & Rows.Count).End(xlUp).Row
MsgBox DernLigne
Le msgbox me donne tjrs "1"
Je mets un lien vers mon fichier voir si vous comprenez quelque chose. Sinon je contournerai le problème? Merci beaucoup de vos efforts.
https://www.cjoint.com/?BAuquKNqt89
Bonjour,
Tu as omis le .Row :
Ensuite c'est quoi WS???
Tu as omis le .Row :
Dim dernl As Long
dernl = Range("A65536").End(xlUp).Row
Ensuite c'est quoi WS???
Set plage = WS.Range("A2:A " & dernl)
Bonjour pijaku,
Merci de ta réponse. Je n'avais mis qu'une partie du code et j'avais déjà déclarer WS.
Ci-dessous mon code complet. Pourtant même quand je rajoute row le msBox me renvoie "1". Ce qui n'est pas logique non ?
Merci de tes conseils
Dim WS As Worksheet
Dim zone_a_copier As Range
Dim zone_a_coller As Range
Set WS = Sheets("Conca_1")
WS.Cells.Clear
Set zone_a_copier = Sheets("Conca").Range("A1")
Set zone_a_coller = Sheets("Conca_1").Range("A1")
zone_a_copier.CurrentRegion.Copy
zone_a_coller.PasteSpecial xlPasteValues
WS.Range("N:N").EntireColumn.Insert
WS.Range("N1").Value = "Concatenation"
Dim plage As Range
Dim cellule As Range
Dim dernl As Long
dernl = Range("A65536").End(xlUp).Row
MsgBox dernl
'Set plage = Range(" A2 : A " & dernl)
'For Each cellule In plage
'cellule.Offset(0, 13).Value = cellule.Offset(0, 0).Value & cellule.Offset(0, 11).Value & cellule.Offset(0, 12)
'Next
Merci de ta réponse. Je n'avais mis qu'une partie du code et j'avais déjà déclarer WS.
Ci-dessous mon code complet. Pourtant même quand je rajoute row le msBox me renvoie "1". Ce qui n'est pas logique non ?
Merci de tes conseils
Dim WS As Worksheet
Dim zone_a_copier As Range
Dim zone_a_coller As Range
Set WS = Sheets("Conca_1")
WS.Cells.Clear
Set zone_a_copier = Sheets("Conca").Range("A1")
Set zone_a_coller = Sheets("Conca_1").Range("A1")
zone_a_copier.CurrentRegion.Copy
zone_a_coller.PasteSpecial xlPasteValues
WS.Range("N:N").EntireColumn.Insert
WS.Range("N1").Value = "Concatenation"
Dim plage As Range
Dim cellule As Range
Dim dernl As Long
dernl = Range("A65536").End(xlUp).Row
MsgBox dernl
'Set plage = Range(" A2 : A " & dernl)
'For Each cellule In plage
'cellule.Offset(0, 13).Value = cellule.Offset(0, 0).Value & cellule.Offset(0, 11).Value & cellule.Offset(0, 12)
'Next
Loool bien vu Le Pingou...désolé de solliciter autant le forum mais croyez moi que j'essaye toujours tout seul avant de poser ma question.
Je ne peux pas utiliser de "somme prod" car c'est trop long. Donc je passe par une feuille qui concatenne mes trois critères puis dans insertion/non je vais créer une plage de de donnée dynamique pour faire un rechercherV dans ma feuille "managed". Mais je n'arrive pas à concatenner en VBA. Je craque
Je ne peux pas utiliser de "somme prod" car c'est trop long. Donc je passe par une feuille qui concatenne mes trois critères puis dans insertion/non je vais créer une plage de de donnée dynamique pour faire un rechercherV dans ma feuille "managed". Mais je n'arrive pas à concatenner en VBA. Je craque
Désolé je ne comprends pas ce qui te froisse. Je remercie tout le monde qui à bien voulu me consacrer du temps...et je suis à disposition pour toute question ou toute aide que je pourrais fournir à un autre internaute......dans le principe de bon entente et d'entraide du forum. J'essaye de trouver d'abord tout seul et quand je n'y arrive pas je me tourne vers le forum.
Désolé d'être débutant....
Je posterai une fois que j'ai fini le fichier complet pr que tout le monde puisse en profiter..
Merci à vous tous et bonne journée
Désolé d'être débutant....
Je posterai une fois que j'ai fini le fichier complet pr que tout le monde puisse en profiter..
Merci à vous tous et bonne journée
tu trouves toujours 1, alors précises de qu'elle feuille tu souhaites la dernière ligne.
Tente un :
De même que :
Tente un :
WS.Range("A65536").End(xlUp).Row
De même que :
'Set plage = WS.Range(" A2 : A " & dernl)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
tiens, comme il y a du beau monde sur ce post, une proposition pour la base de données
la base de données est dans un fichier séparé "concat.xls" du même répertoire que draft.xls
concat.xls doit être fermé
mais c'est quand m^me un peu lent (8 sommes SQL par ligne): on pourrait accélérer en tenant compte des requ^tes vides mais... (j'vas essayer)
https://www.cjoint.com/?3Aus3eLwVZ5
Michel
la base de données est dans un fichier séparé "concat.xls" du même répertoire que draft.xls
concat.xls doit être fermé
mais c'est quand m^me un peu lent (8 sommes SQL par ligne): on pourrait accélérer en tenant compte des requ^tes vides mais... (j'vas essayer)
https://www.cjoint.com/?3Aus3eLwVZ5
Michel
Merci michel_m pour cette solution.
Ca fonctionne très bien mais le tps de résolution est vraiment trop long.
A partir de la base de donnée ("Conca") je dois creer une dizaine d'autres bases de données en filtrant selon différents critères. Avec les formules matricielle ca me prend environ 45 minutes.
Je pense que la solution réside surement dans VBA mais etant neophyte je ne sais pas du tout comment m'y prendre.
Merci quand même de ton aide.
Bonne journée.
Rod
Ca fonctionne très bien mais le tps de résolution est vraiment trop long.
A partir de la base de donnée ("Conca") je dois creer une dizaine d'autres bases de données en filtrant selon différents critères. Avec les formules matricielle ca me prend environ 45 minutes.
Je pense que la solution réside surement dans VBA mais etant neophyte je ne sais pas du tout comment m'y prendre.
Merci quand même de ton aide.
Bonne journée.
Rod
J'ai une idée dans mes cartons (autre que les requ^tes vides): je bidouillerai ça en fin d'aprem ou demain matin
Néanmoins si le TCD " fait en 10 minutes par un expert (...??)" fonctionne, reste sur cette solution
remarque: c'est certainement trop tard ou impossible (licence logiciel) mais ce genre d'extraction sur grande base (27 col x 30000 lig) aurait demandé l'utilisation d'access; voir les recommandations de la maison-mère:
http://office.microsoft.com/fr-ch/excel-help/utilisation-d-access-ou-d-excel-pour-gerer-vos-donnees-HA001042918.aspx
Néanmoins si le TCD " fait en 10 minutes par un expert (...??)" fonctionne, reste sur cette solution
remarque: c'est certainement trop tard ou impossible (licence logiciel) mais ce genre d'extraction sur grande base (27 col x 30000 lig) aurait demandé l'utilisation d'access; voir les recommandations de la maison-mère:
http://office.microsoft.com/fr-ch/excel-help/utilisation-d-access-ou-d-excel-pour-gerer-vos-donnees-HA001042918.aspx
Le Pingou,
Merci de cette remarque.
Oui je pense que c'est normal. La feuille [EA] =>(pr economic assumption) et la feuille Managed (pr Managed Unit) ne doivent pas aller chercher les même critères de la feuille conca. Malheureusement je n'ai pas accès à mes fichiers joints du au parefeu de mon entreprise pr vérifier. Mais je pense que ca doit être pr ca que je n'ai pas les mêmes valeurs.
En revanche, je dois trouver la même donnée entre la feuille "Conca" et la feuille "EA"
Salutation amicale.
Merci de cette remarque.
Oui je pense que c'est normal. La feuille [EA] =>(pr economic assumption) et la feuille Managed (pr Managed Unit) ne doivent pas aller chercher les même critères de la feuille conca. Malheureusement je n'ai pas accès à mes fichiers joints du au parefeu de mon entreprise pr vérifier. Mais je pense que ca doit être pr ca que je n'ai pas les mêmes valeurs.
En revanche, je dois trouver la même donnée entre la feuille "Conca" et la feuille "EA"
Salutation amicale.