Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2021 Copier coller des colonnes suivant le nom de la colonne et non pas le N° de colonne idem ligne

desmonts

XLDnaute Occasionnel
Bonjour à toutes et tous,

Je cherche un moyen de copier coller via vba en formule , et en valeur d'une colonne à l'autre, sachant que d'un mois sur l'autre les colonnes ne seront pas aux mêmes endroits, mais par contre les entêtes de colonnes porteront toujours le même nom.
Je vous ai mis un fichier simplifier pour l'exemple

Je souhaiterai copier en formule la colonne réal.oct sur la colonne le réal.Nov (attention se trouve en colonne C et G, mais le mois prochain peut être D et E) à partir de la ligne 10 (cela sera tjs la ligne 10) jusqu'à la ligne France. (Attention la ligne France ce trouve en ligne 178 mais dans un mois elle peut se trouver en ligne 180).
Puis copier en valeur la colonne réal.oct de la ligne 10 à ligne France sur elle même.


Par avance merci à ceux qui passeront un peu de temps.
 

Pièces jointes

  • fichier demo.xlsb
    418.6 KB · Affichages: 18

sousou

XLDnaute Barbatruc
Bonjour
??
Pourquoi ne pas copier simplement test formule d'une colonne à l'autre à condition de bien regarder l'adressage relatif.
Modifier ainsi ta formule
=NB.SI.ENS(x!$A:$A;$A11;x!$C:$C;"")
=NB.SI.ENS(x!$A:$A;A11;x!$C:$C;"")
 

sousou

XLDnaute Barbatruc
Re
Si j'ai compris , et c'est pas certain!
Tu comptes le nombre à un moment donné (en début ou fin de mois), les dates n'interviennent pas dans ce
ce qui te permet de voir l'évolution?
Si c'est cela une macro devrait t'aidé,
Tu choisis une cellule d'une colonne réal.. et tu cliques sur le bouton macro deb, le résutat s'affichera dans cette colonne
A voir
 

Pièces jointes

  • fichier demo.xlsb
    417.8 KB · Affichages: 5

desmonts

XLDnaute Occasionnel
Merci beaucoup, c'est presque cela. Mais je ne veux pas choisir manuellement la colonne destinataire, je souhaiterai qu'il cherche lui même ligne 9 et dès qu'il trouve la colonne Réal.nov il colle en formule (et non en valeur) sur cette colonne à partir de la ligne 10 ce qui se trouvait dans la colonne Réal.oct.

Après je pourrais adapter le bout de code a mes autres colonnes mais je suis pas très fort en code et la je sèche. En tout cas un grand merci pour ton temps.
 

sousou

XLDnaute Barbatruc
Re
J'avoue ne pas bien comprendre ou tu veux en venir
A quel moment démarre l'action?
Copie de octobre vers novembre, Pourquoi pas , et décembre?
Tu parles de recopier en valeur, les formule, mais à quel moment?
 

desmonts

XLDnaute Occasionnel
Re,c est juste un fichier exemple après j adaptera le code pour aller sur mon vrai fichier. La pour l exemple je veux copier la colonne c et coller dans la colonne réal.nov mais en gros je ne sais pas où est la colonne réal.nov,(elle pourrait être g h i j ou autre) donc je souhaiterai que la macro recherche dans quelle colonne se trouve réal.nov et une fois trouvée elle copie en formule la colonne c puis copie en valeur la colonne c sur elle même. Cela absurde sur ce fichier mais une fois adapté sur mon vrai fichier cela m aidera beaucoup.
 

sousou

XLDnaute Barbatruc
Bonjour
Et bien voici un code, qui cherhche la première colonne réal. vide et qui colle la formule


Sub copieformule()


'Recherche première colonne réal vide
With Sheets("demo")
For Each i In .UsedRange.Rows(9).Columns
If Left(i, 5) = "Réal." Then
If i.Offset(1, 0) = "" Then Call copie(i)
End If

Next
End With

End Sub

Sub copie(i)
formule = "=NB.SI.ENS(x!$A:$A;A10;x!$C:$C;"""")"
With Sheets("demo")
fin = .Columns(1).Rows.Find("France").Row - 1
Set zone = .Range(.Cells(10, i.Column), .Cells(fin, i.Column))

zone.FormulaLocal = formule
End With
End Sub
 

desmonts

XLDnaute Occasionnel
Merci pour le temps que tu y consacres, c'est pas tout a fait cela, car la cela rempli la colonne réal.nov et réal.dec. et tu copies la formules NB.SI.ENS(x!$A:$A;A10;x!$C:$C;"""")" et non pas la formule qui se trouve sur toutes les lignes de la colonne C, si par exemple j'ai pas la même formule en C10 et en C23 cela ne va pas fonctionner. Un grand merci cela va me donner des pistes pour essayer
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…