copie de cellules d'une feuille vers l'autre

Jimrcl

XLDnaute Occasionnel
Bonjour le forum,
dans ma macro, actuellement en chantier(, et quel chantier!!!)
je souhaite copier vers une feuille des valeurs provenant d'une autre feuille ou les valeurs de mes variables que j'ai incrémenté.
Quelqu'un a t'il un exemple parce que çà me marche pas chez moi, et je sais pas quand exactement il faut activer les worksheets...
ni comment on gère les différents formats de cellules
Si je pouvais apprendre sur un exemple...
Merci beaucoup.
Bon lundi, euh non mardi. :)
 
E

Eric S

Guest
le plus simple pour toi est d'utiliser l'enregistreur de macros (outil-macros-nouvelle macro)

tu fais ta manip une fois à la main et tu vas voir le code généré.

tu pourras te créer tes exemples toi même

Sheets('Feuil1').Select
Range('A1').Select
Selection.Copy
Sheets('Feuil2').Select
Range('B8').Select
ActiveSheet.Paste

copie A1 de la feuille 1 vers B8 de la feuille 2, généré avec l'enregistreur

A+
 

Creepy

XLDnaute Accro
Bonjour à toutes & tous,

Je n'ai pas d'exemple précis. Le plus simple je pense c'est que tu mettes en PJ ton fichier, avec ce que tu voudrais comme macro.

Comme ca tu auras un exemple parlant (forcement c'est ton projet !) qui te permettra de bien comprendre et de mieux suivre le defilement de la macro.

Attention je ne te dis pas qu'on va te faire un fichier complet pret à l'emploi :ermm: , mais on va partir sur une bonne base pour en exemple.

voila

++

Creepy
 

Jimrcl

XLDnaute Occasionnel
c vrai qu'avec le code c mieux
Voilà là j'essaye pour copier la valeur de ma variable
mais çà marche pas.
les données sont dans données, |o|
et les valeurs sont à copier dans la feuille MOTG

Code:
Sub MOTG()
Dim WSD As Worksheet
Dim WS6 As Worksheet
Dim nb_delai_2j As Integer
Dim i As Integer
Dim L As Integer
nb_delai_tot = 0
nb_delai_2j = 0
Set WSD = ThisWorkbook.Sheets('Données')
Set WS6 = ThisWorkbook.Sheets('MOTG')


WSD.Select
L = WSD.Range('B65536').End(xlUp).Row + 1 ' On identifie la dernière ligne vide en partant du bas
'With WSD
For i = 12 To L
If ('I' & i) = 'X' Then     'Or 'x'
nb_delai_2j = nb_delai_2j + 1
End If
Next i

WS6.Range('A1').Value = nb_delai_2j
End Sub


Merci encore
 

myDearFriend!

XLDnaute Barbatruc
Bonjour Jimrcl, Eric S, Creepy,

Je ne suis pas sûr d'avoir tout compris, mais à tout hasard....

Sub MOTG()
Dim WSD As Worksheet
Dim WS6 As Worksheet
Dim nb_delai_2j As Integer
Dim
i As Integer
Dim
L As Integer

      nb_delai_2j = 0
      Set WSD = ThisWorkbook.Sheets('Données')
      Set WS6 = ThisWorkbook.Sheets('MOTG')
     
      With WSD
            L = .Range('I65536').End(xlUp).Row + 1   'dernière ligne vide COLONNE I
            For i = 12 To L
                  If UCase(.Range('I' & i).Value) = 'X' Then        'Ucase() pour 'x' ou 'X'
                        nb_delai_2j = nb_delai_2j + 1
                  End If
            Next i
      End With
     
      WS6.Range('A1').Value = nb_delai_2j
End Sub
Si tu as besoin de plus d'explications, n'hésite pas à relancer ce fil de discussion....

Cordialement.
 

Discussions similaires

Statistiques des forums

Discussions
312 980
Messages
2 094 130
Membres
105 941
dernier inscrit
antho_qh