OVH Cloud OVH Cloud

Cellules à copier dans plusieurs feuilles (par macro)

5 réponses
Avatar
TOF
Bonjour,

Je cherche (par une macro) à copier une cellule vers la même mais sur une
autre feuille.
Cette cellule étant à chaque fois différente.
J'arrive à obtenir les coordonnées de cette cellule (par Column et Row : ex
: 6 et 9 ) mais comment les retranscrire vers l'autre feuille ? Il me faut
transformer la valeur de Column en une lettre... range("F9") par exemple.

Même question, s'il s'agit d'une sélection multiple...

Merci de votre aide.

5 réponses

Avatar
Christophe JEAN
Bonsoir

Alors pour ton copier coller tu n'as pas besoin de tranformer un N° en
lettre pour ta colonne. Il existe l'objet Cell( n° Ligne , n° Colonne)

Voici les instructions :
'Les n° de ligne et colonne ont été récupérées
Sheets("La_Feuille").Activate
Cells(6, 9).Select 'pour l'exemple
ActiveSheet.Paste

A+

Christophe


Bonjour,

Je cherche (par une macro) à copier une cellule vers la même mais sur une
autre feuille.
Cette cellule étant à chaque fois différente.
J'arrive à obtenir les coordonnées de cette cellule (par Column et Row :
ex : 6 et 9 ) mais comment les retranscrire vers l'autre feuille ? Il me
faut transformer la valeur de Column en une lettre... range("F9") par
exemple.

Même question, s'il s'agit d'une sélection multiple...

Merci de votre aide.



Avatar
Christophe JEAN
Re-Bonsoir

Quans j'ai eu fini d'écrire le message d'avant, je me suis rappelé une
petite fonction de derrière les fagots, que j'avais créé parce que j'en
avais un besoin particulier :

Function NO_EN_LETTRE(NoCol As Integer) As String

If NoCol <= 26 Then
NColonne = Chr(NoCol + 64)
Else
Lettre1 = Chr((NoCol / 26) + 64)
Lettre2 = Chr((NoCol Mod 26) + 64)
NColonne = Lettre1 & Lettre2
End If
NO_EN_LETTRE = NColonne

End Function

Et elle transforme un n° de colonne en lettre avec un ou 2 caractères ex
27 --> AA

Voilà
A+

Christophe JEAN
Avatar
LeSteph
Bonsoir,
Je cherche (par une macro) à copier une cellule vers la même mais sur une
autre feuille.
dans ta macro exemples:


Worksheets("Feuil4").[i6]=Worksheets("Feuil2").[i6]
'ou bien
Worksheets("Feuil4").Cells(6,9)=Worksheets("Feuil2").Cells(6,9)
'ou autres manières
Feuil4.[i6] = Feuil1.[i6]
'ou même
Feuil5.Cells(6, 9) = Feuil4.Cells(6,9)

'lSteph

"TOF" a écrit dans le message de news:
%
Bonjour,

Je cherche (par une macro) à copier une cellule vers la même mais sur une
autre feuille.
Cette cellule étant à chaque fois différente.
J'arrive à obtenir les coordonnées de cette cellule (par Column et Row :
ex : 6 et 9 ) mais comment les retranscrire vers l'autre feuille ? Il me
faut transformer la valeur de Column en une lettre... range("F9") par
exemple.

Même question, s'il s'agit d'une sélection multiple...

Merci de votre aide.



Avatar
TOF
Merci beaucoup, je ne connaissais pas...

"Christophe JEAN" a écrit dans le message de news:
4160530f$0$29605$
Re-Bonsoir

Quans j'ai eu fini d'écrire le message d'avant, je me suis rappelé une
petite fonction de derrière les fagots, que j'avais créé parce que j'en
avais un besoin particulier :

Function NO_EN_LETTRE(NoCol As Integer) As String

If NoCol <= 26 Then
NColonne = Chr(NoCol + 64)
Else
Lettre1 = Chr((NoCol / 26) + 64)
Lettre2 = Chr((NoCol Mod 26) + 64)
NColonne = Lettre1 & Lettre2
End If
NO_EN_LETTRE = NColonne

End Function

Et elle transforme un n° de colonne en lettre avec un ou 2 caractères ex
27 --> AA

Voilà
A+

Christophe JEAN



Avatar
TOF
Je souhaite aussi faire la même chose mais avec une sélection multiple...
Ex : copier les cellules de E7 à E14 vers une autre feuille. Les références
de cellules pouvant bien évidemment varier...


"Christophe JEAN" a écrit dans le message de news:
4160530f$0$29605$
Re-Bonsoir

Quans j'ai eu fini d'écrire le message d'avant, je me suis rappelé une
petite fonction de derrière les fagots, que j'avais créé parce que j'en
avais un besoin particulier :

Function NO_EN_LETTRE(NoCol As Integer) As String

If NoCol <= 26 Then
NColonne = Chr(NoCol + 64)
Else
Lettre1 = Chr((NoCol / 26) + 64)
Lettre2 = Chr((NoCol Mod 26) + 64)
NColonne = Lettre1 & Lettre2
End If
NO_EN_LETTRE = NColonne

End Function

Et elle transforme un n° de colonne en lettre avec un ou 2 caractères ex
27 --> AA

Voilà
A+

Christophe JEAN