Bonjour,
je récupère un tableau qui demande à etre modifié
il me reste juste un souci au niveau des dernières cellules de la colonne A
j'ai des données dans la colonne b
je dois compléter la colonne A
j'ai déjà cette macro
Sub Complète_Lignes()
Set plg = Range("A3", [A65536].End(3)).SpecialCells(xlCellTypeBlanks)
For i = 1 To plg.Areas.Count
x = Range(plg.Areas(i).Item(1).Offset(-1, 0).Address).Value
plg.Areas(i) = x
Next
End Sub
mais le problème c'est qu'elle ne vas pas jusqu'au bout
par exemple je voudrais recopier le mot qui se trouve en A200 tant qu'il
y a une information dans la colonne B qui peut etre par exemple B210
Pas grave je vais procéder d'une autre manière en demandant à l'utilisateur par l'intermédiaire d'un truc box de copier la dernière cellule de la colonne A en attendant de pourvoir faire mieux
merci tout de même, je vais de mon côté continuer à chercher
michdenis a écrit:
Bonjour Andrea,
Je passe la main... il y en a probablement d'autres susceptibles de comprendre la donne de ta problématique.
Bonne chance,
Salutations!
"andrea" a écrit dans le message de news: j'ai testé
je sais que je suis un peu casse pied
mais il reste un problème pour mon cas cela fonctionne si j'ai des données sur toutes les lignes de la colonne B et C,D ..... dans mon cas j'ai une donnée par exemple en A3 mais pas sur le reste de la ligne en A25 mais pas sur le reste de la ligne c'est pourquoi j'ai besoin de recopier cette donnée sur les cellules vers le bas afin de supprimer par la suite les lignes qui ne contiennent des données que dans la colonne A
je sais c'est difficile de répondre quand on a pas toutes les infos sous les yeux je vous remercie ces bouts de code m'aident à mieux comprendre
Cordialement Andréa
michdenis a écrit:
| justement la feuil1 n'a jamais le même nom
Attention, dans la ligne de code With Feuil1
Feuil1 n'est pas le nom de l'onglet de la feuille mais représente la propriété Name visible dans l'éditeur de macro
Tu vois : Feuil1(Feuil1) Le "Feuil1" qui n'est pas entre parenthèses représente le nom de l'objet.
En utilisant cela, même si l'usager rebaptise le nom de l'onglet de la feuille cela n'a aucune incidence sur la macro....
Salutations!
"andrea" a écrit dans le message de news: merci
et justement la feuil1 n'a jamais le même nom c'est en fait une date qui évolue je vais essayer de récupérer le nom de la feuille le coller quelque part renomer la feuille et une fois toute la macro redonner le nom initial
a moins que l'on puisse faire plus simple
michdenis a écrit:
Tu peux essayer ceci :
'---------------------------- Sub test()
Dim Plg As Range With Feuil1 ' Nom Feuille à adapter Set Plg = Range("A" & .Range("A:B").Find(What:="*", _ LookIn:=xlFormulas, SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious).Row) _ .SpecialCells(xlCellTypeBlanks) End With For i = 1 To Plg.Areas.Count x = Range(Plg.Areas(i).Item(1).Offset(-1, 0).Address).Value Plg.Areas(i) = x Next Set Plg = Nothing End Sub '----------------------------
Salutations!
"andrea" a écrit dans le message de news: à force de tester je m'aperçois qu'il peut y avoir un petit problème dans ce code : ------------------- Set plg = Range("A3", [B65536].End(3)).SpecialCells(xlCellTypeBlanks) For i = 1 To plg.Areas.Count x = Range(plg.Areas(i).Item(1).Offset(-1, 0).Address).Value plg.Areas(i) = x Next -------------------
par exemple la dernière cellule de la colonne A correspond à la dernière cellule de la colonne B cela coince
donc il faudrait faire un test avant d'exécuter ce bout de code
et bien sûr je sais pas faire
merci d'avance
michdenis a écrit:
Bonjour Andra,
Observe dans cette ligne de code, j'ai modifié A65536 pour B65536 à l'intérieur des crochets droits.
Set plg = Range("A3", [B65536].End(3)).SpecialCells(xlCellTypeBlanks)
Salutations!
"andrea" a écrit dans le message de news: dans la colonne A j'ai une cellule renseignée d'une manière non régulière je prend donc le contenu de cette cellule que je recopie vers le bas jusqu'a la prochaine qui contient quelque chose cela fonctionne bien
mais je voudrais que la derniere cellule renseignée de la colonne a se recopie jusqu'au niveau de la dernière cellule renseignée de la colonne b
j'espère que j'ai été assez claire merci
michdenis a écrit:
Bonjour Andrea,
| mais le problème c'est qu'elle ne vas pas jusqu'au bout
Ta macro se rend jusqu'au bout de la dernière cellule occupée de ta colonne A et non pas au bout de la colonne (dernière cellule A65536)
Quelle est ta définition de "jusqu'au bout" ? Et qu'est-ce que tu veux que la macro fasse ?
Salutations!
a écrit dans le message de news: Bonjour, je récupère un tableau qui demande à etre modifié il me reste juste un souci au niveau des dernières cellules de la colonne A
j'ai des données dans la colonne b je dois compléter la colonne A
j'ai déjà cette macro
Sub Complète_Lignes() Set plg = Range("A3", [A65536].End(3)).SpecialCells(xlCellTypeBlanks) For i = 1 To plg.Areas.Count x = Range(plg.Areas(i).Item(1).Offset(-1, 0).Address).Value plg.Areas(i) = x Next End Sub
mais le problème c'est qu'elle ne vas pas jusqu'au bout
par exemple je voudrais recopier le mot qui se trouve en A200 tant qu'il y a une information dans la colonne B qui peut etre par exemple B210
merci d'avance
Pas grave
je vais procéder d'une autre manière en demandant à l'utilisateur
par l'intermédiaire d'un truc box
de copier la dernière cellule de la colonne A
en attendant de pourvoir faire mieux
merci tout de même, je vais de mon côté continuer à chercher
michdenis a écrit:
Bonjour Andrea,
Je passe la main... il y en a probablement d'autres susceptibles
de comprendre la donne de ta problématique.
Bonne chance,
Salutations!
"andrea" <andrea.parker@laposte.net> a écrit dans le message de news: 4434DE3E.4050002@laposte.net...
j'ai testé
je sais que je suis un peu casse pied
mais il reste un problème pour mon cas
cela fonctionne si j'ai des données sur toutes les lignes de la colonne
B et C,D ..... dans mon cas j'ai une donnée par exemple en A3 mais pas
sur le reste de la ligne
en A25 mais pas sur le reste de la ligne
c'est pourquoi j'ai besoin de recopier cette donnée sur les cellules
vers le bas afin de supprimer par la suite les lignes qui ne contiennent
des données que dans la colonne A
je sais c'est difficile de répondre quand on a pas toutes les infos sous
les yeux
je vous remercie ces bouts de code m'aident à mieux comprendre
Cordialement
Andréa
michdenis a écrit:
| justement la feuil1 n'a jamais le même nom
Attention, dans la ligne de code With Feuil1
Feuil1 n'est pas le nom de l'onglet de la feuille mais
représente la propriété Name visible dans l'éditeur de macro
Tu vois : Feuil1(Feuil1)
Le "Feuil1" qui n'est pas entre parenthèses représente le nom de l'objet.
En utilisant cela, même si l'usager rebaptise le nom de l'onglet de la feuille
cela n'a aucune incidence sur la macro....
Salutations!
"andrea" <andrea.parker@laposte.net> a écrit dans le message de news: 4433F8FE.7010900@laposte.net....
merci
et justement la feuil1 n'a jamais le même nom
c'est en fait une date qui évolue
je vais essayer de récupérer le nom de la feuille
le coller quelque part
renomer la feuille
et une fois toute la macro redonner le nom initial
a moins que l'on puisse faire plus simple
michdenis a écrit:
Tu peux essayer ceci :
'----------------------------
Sub test()
Dim Plg As Range
With Feuil1 ' Nom Feuille à adapter
Set Plg = Range("A" & .Range("A:B").Find(What:="*", _
LookIn:=xlFormulas, SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row) _
.SpecialCells(xlCellTypeBlanks)
End With
For i = 1 To Plg.Areas.Count
x = Range(Plg.Areas(i).Item(1).Offset(-1, 0).Address).Value
Plg.Areas(i) = x
Next
Set Plg = Nothing
End Sub
'----------------------------
Salutations!
"andrea" <andrea.parker@laposte.net> a écrit dans le message de news: 4433DF47.5040703@laposte.net...
à force de tester je m'aperçois qu'il peut y avoir un petit problème
dans ce code :
-------------------
Set plg = Range("A3", [B65536].End(3)).SpecialCells(xlCellTypeBlanks)
For i = 1 To plg.Areas.Count
x = Range(plg.Areas(i).Item(1).Offset(-1, 0).Address).Value
plg.Areas(i) = x
Next
-------------------
par exemple la dernière cellule de la colonne A correspond à la dernière
cellule de la colonne B cela coince
donc il faudrait faire un test avant d'exécuter ce bout de code
et bien sûr je sais pas faire
merci d'avance
michdenis a écrit:
Bonjour Andra,
Observe dans cette ligne de code, j'ai modifié A65536 pour B65536
à l'intérieur des crochets droits.
Set plg = Range("A3", [B65536].End(3)).SpecialCells(xlCellTypeBlanks)
Salutations!
"andrea" <andrea.parker@laposte.net> a écrit dans le message de news: 4433C414.6070200@laposte.net...
dans la colonne A j'ai une cellule renseignée d'une manière non régulière
je prend donc le contenu de cette cellule que je recopie vers le bas
jusqu'a la prochaine qui contient quelque chose cela fonctionne bien
mais je voudrais que la derniere cellule renseignée de la colonne a
se recopie jusqu'au niveau de la dernière cellule renseignée de la colonne b
j'espère que j'ai été assez claire
merci
michdenis a écrit:
Bonjour Andrea,
| mais le problème c'est qu'elle ne vas pas jusqu'au bout
Ta macro se rend jusqu'au bout de la dernière cellule occupée
de ta colonne A et non pas au bout de la colonne (dernière cellule A65536)
Quelle est ta définition de "jusqu'au bout" ? Et qu'est-ce que tu veux que
la macro fasse ?
Salutations!
<andrea.parker@laposte.net> a écrit dans le message de news: 44337011.8060809@laposte.net...
Bonjour,
je récupère un tableau qui demande à etre modifié
il me reste juste un souci au niveau des dernières cellules de la colonne A
j'ai des données dans la colonne b
je dois compléter la colonne A
j'ai déjà cette macro
Sub Complète_Lignes()
Set plg = Range("A3", [A65536].End(3)).SpecialCells(xlCellTypeBlanks)
For i = 1 To plg.Areas.Count
x = Range(plg.Areas(i).Item(1).Offset(-1, 0).Address).Value
plg.Areas(i) = x
Next
End Sub
mais le problème c'est qu'elle ne vas pas jusqu'au bout
par exemple je voudrais recopier le mot qui se trouve en A200 tant qu'il
y a une information dans la colonne B qui peut etre par exemple B210
Pas grave je vais procéder d'une autre manière en demandant à l'utilisateur par l'intermédiaire d'un truc box de copier la dernière cellule de la colonne A en attendant de pourvoir faire mieux
merci tout de même, je vais de mon côté continuer à chercher
michdenis a écrit:
Bonjour Andrea,
Je passe la main... il y en a probablement d'autres susceptibles de comprendre la donne de ta problématique.
Bonne chance,
Salutations!
"andrea" a écrit dans le message de news: j'ai testé
je sais que je suis un peu casse pied
mais il reste un problème pour mon cas cela fonctionne si j'ai des données sur toutes les lignes de la colonne B et C,D ..... dans mon cas j'ai une donnée par exemple en A3 mais pas sur le reste de la ligne en A25 mais pas sur le reste de la ligne c'est pourquoi j'ai besoin de recopier cette donnée sur les cellules vers le bas afin de supprimer par la suite les lignes qui ne contiennent des données que dans la colonne A
je sais c'est difficile de répondre quand on a pas toutes les infos sous les yeux je vous remercie ces bouts de code m'aident à mieux comprendre
Cordialement Andréa
michdenis a écrit:
| justement la feuil1 n'a jamais le même nom
Attention, dans la ligne de code With Feuil1
Feuil1 n'est pas le nom de l'onglet de la feuille mais représente la propriété Name visible dans l'éditeur de macro
Tu vois : Feuil1(Feuil1) Le "Feuil1" qui n'est pas entre parenthèses représente le nom de l'objet.
En utilisant cela, même si l'usager rebaptise le nom de l'onglet de la feuille cela n'a aucune incidence sur la macro....
Salutations!
"andrea" a écrit dans le message de news: merci
et justement la feuil1 n'a jamais le même nom c'est en fait une date qui évolue je vais essayer de récupérer le nom de la feuille le coller quelque part renomer la feuille et une fois toute la macro redonner le nom initial
a moins que l'on puisse faire plus simple
michdenis a écrit:
Tu peux essayer ceci :
'---------------------------- Sub test()
Dim Plg As Range With Feuil1 ' Nom Feuille à adapter Set Plg = Range("A" & .Range("A:B").Find(What:="*", _ LookIn:=xlFormulas, SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious).Row) _ .SpecialCells(xlCellTypeBlanks) End With For i = 1 To Plg.Areas.Count x = Range(Plg.Areas(i).Item(1).Offset(-1, 0).Address).Value Plg.Areas(i) = x Next Set Plg = Nothing End Sub '----------------------------
Salutations!
"andrea" a écrit dans le message de news: à force de tester je m'aperçois qu'il peut y avoir un petit problème dans ce code : ------------------- Set plg = Range("A3", [B65536].End(3)).SpecialCells(xlCellTypeBlanks) For i = 1 To plg.Areas.Count x = Range(plg.Areas(i).Item(1).Offset(-1, 0).Address).Value plg.Areas(i) = x Next -------------------
par exemple la dernière cellule de la colonne A correspond à la dernière cellule de la colonne B cela coince
donc il faudrait faire un test avant d'exécuter ce bout de code
et bien sûr je sais pas faire
merci d'avance
michdenis a écrit:
Bonjour Andra,
Observe dans cette ligne de code, j'ai modifié A65536 pour B65536 à l'intérieur des crochets droits.
Set plg = Range("A3", [B65536].End(3)).SpecialCells(xlCellTypeBlanks)
Salutations!
"andrea" a écrit dans le message de news: dans la colonne A j'ai une cellule renseignée d'une manière non régulière je prend donc le contenu de cette cellule que je recopie vers le bas jusqu'a la prochaine qui contient quelque chose cela fonctionne bien
mais je voudrais que la derniere cellule renseignée de la colonne a se recopie jusqu'au niveau de la dernière cellule renseignée de la colonne b
j'espère que j'ai été assez claire merci
michdenis a écrit:
Bonjour Andrea,
| mais le problème c'est qu'elle ne vas pas jusqu'au bout
Ta macro se rend jusqu'au bout de la dernière cellule occupée de ta colonne A et non pas au bout de la colonne (dernière cellule A65536)
Quelle est ta définition de "jusqu'au bout" ? Et qu'est-ce que tu veux que la macro fasse ?
Salutations!
a écrit dans le message de news: Bonjour, je récupère un tableau qui demande à etre modifié il me reste juste un souci au niveau des dernières cellules de la colonne A
j'ai des données dans la colonne b je dois compléter la colonne A
j'ai déjà cette macro
Sub Complète_Lignes() Set plg = Range("A3", [A65536].End(3)).SpecialCells(xlCellTypeBlanks) For i = 1 To plg.Areas.Count x = Range(plg.Areas(i).Item(1).Offset(-1, 0).Address).Value plg.Areas(i) = x Next End Sub
mais le problème c'est qu'elle ne vas pas jusqu'au bout
par exemple je voudrais recopier le mot qui se trouve en A200 tant qu'il y a une information dans la colonne B qui peut etre par exemple B210