OVH Cloud OVH Cloud

remplir une cellule

11 réponses
Avatar
andrea.parker
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

1 réponse

1 2
Avatar
andrea
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


















1 2