Copier cellule d'une feuille à une autre

fafaira Messages postés 2 Date d'inscription dimanche 4 septembre 2016 Statut Membre Dernière intervention 4 septembre 2016 - Modifié par jordane45 le 4/09/2016 à 20:47
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 6 sept. 2016 à 16:32
Bonjour,

J'ai besoin d'aide.
Je veux copier des cellules d'une feuille avec un nom NETTOYAGE a une cellule avec une variable
sheets(cells(3,i).value)

Mias ca beug après le end if sur
Worksheets(Cells(3, i).Value).Activate

Il me dit erreur 9, l'indice n'appartient pas à la selection.
Je n'arrive pas à trouver l'ereur.

Pouvez vous m'aider ?
Dim entreprise As String, nom As String, detail As String, l As Long, montant As Integer, j As Integer, k As Integer
Dim NETTOYAGE As Worksheet
i = 6
l = 4
Sheets("NETTOYAGE").Activate
Do Until Cells(3, i) = "TOTAL FACTURE"
   Do Until Cells(l, i) = ""
         If Cells(l, i) = 0 Then
             l = l + 1
         Else
          Worksheets(Cells(3, i).Value).Activate    
              k = 7 
                 Do While Cells(k, 2) = notempty
                          k = k + 1
                 Loop
                 
             Worksheets("NETTOYAGE").Activate
             Range(Cells(l, 1), Cells(l, 2)).Select
             Selection.Copy
             
             Worksheets(Cells(3, i).Value).Select
             Range(Cells(k, 1), Cells(k, 2)).Select
             ActiveSheet.Paste
             
             
             Cells(l, i).Select
             Selection.Copy
             
             Sheets(Cells(3, i).Value).Select
             Cells(k, 3).Select
             ActiveSheet.Paste
             
             
             Worksheets("NETTOYAGE").Activate
             
             l = l + 1
             
       End If
         
   Loop

i = i + 1

Loop

  
End Sub




EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.

3 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
4 sept. 2016 à 20:51
Bonjour,

<block>
Mias ca beug après le end if sur
Worksheets(Cells(3, i).Value).Activate

Il me dit erreur 9, l'indice n'appartient pas à la selection.
</code>

Question bête ( ou pas....)
- Que vaut i lorsque ça plante ?
- Quelle est la valeur de la cellule à ce moment là ??
- Est-ce qu'une feuille portant ce nom existe bien (avec EXACTEMENT la même orthographe... espaces compris!!!!) ???


De plus... tu fais des copy/Past .... mais... que veux tu récupérer exactement ? Si ce n'est QUE LA VALEUR de la cellule (et pas sa mise en forme....) il vaut mieux éviter d'utiliser des SELECT / COPY / PASTE ... et seulement faire des RangeDestination.value = RangeSource.value .....


0
fafaira Messages postés 2 Date d'inscription dimanche 4 septembre 2016 Statut Membre Dernière intervention 4 septembre 2016
4 sept. 2016 à 22:25
Bonjour,

Merci de votre réponse.

I=6 normalement lors de la première boucle. Mais je ne sais pas relevé cette valeur au moment quand ça beug.

Eh oui je veux récupérer que la valeur.

La valeur que je récupère cells (3,i) est RK
Et j ai une feuille qui se nomme également RK.
Je veux récupérer les valeurs de cette entreprise et mettre que ses valeur dans sa feuille perso.
Dans la feuille nettoyage, j ai l ensemble des entreprises.

Comment fonctionne votre fonction ?

Dois je à chaque fois activer la feuille ?
Pourquoi il ne reconnaît pas l indice alors que je l ai déclaré ?
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
4 sept. 2016 à 22:29

je ne sais pas relevé cette valeur au moment quand ça beug.

Tu n'as qu'à exécuter ton script en mode PAS à PAS et regarder (en survolant les variables avec ta souris) quelles sont leur valeur...
Tu peux aussi utiliser la console de debogage en y affichant les variables
par exemple avec un
debug.print 


Tout est expliqué ici : https://support.microsoft.com/fr-fr/kb/142999
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
6 sept. 2016 à 16:32
Bonjour,

Tu déclares une variable... aussi bien l'utiliser
Essaie plutôt

Dim NETTOYAGE As Worksheet  'variable objet worksheet

NETTOYAGE.Activate 'pas de sheets() ni de guillemets ici

0
Rejoignez-nous