Si "X" alors copier / coller dans une autre feuille

Bonjour,
dans le cadre d'un stage en entreprise je dois réaliser un programme en VBA.

Néanmoins je bloque, actuellement je dois faire en sorte que si le mot "Écrans" et détecter il soit copié et coller
dans une autre page ainsi que son numéro de série (tous les numéros de série sont numéroté d'A7 a À750),
le programme doit pouvoir se loop jusqu'à qu'une case vierge soit détecter, sériez-vous m'aider .

pour l'instant, mon code ressemble a ça :

 Sub Test2()
      ' Par exemple je pars de la cellule A2
      Dim PC_type
      Range("C7").Select
      Do Until IsEmpty(ActiveCell)
        PC_type = ActiveCell.Value 'récupère la valeur de la cellule dans une variable que tu appelles comme tu veux
        ' si c'est "ECRAN", sélectionner la cellule de la feuille écran et mettre PC_SN dans la cellule, etc
        ActiveCell.Offset(1, 0).Select  'passe à la ligne suivante
      Loop
   End Sub

Bonjoujr et bienvenue sur le forum

Tu devrais joindre ton fichier complet...

Bye !

J'ai ça :

Option Explicit

Sub Macro1()

Dim cell As Range
Dim sValeur As String

    For Each cell In Range("C2:C" & Cells(ActiveSheet.Rows.Count, 3).End(xlUp).Row)
        sValeur = cell.Value
        Sheets(sValeur).Range("A" & (Sheets(sValeur).Cells(Sheets(sValeur).Rows.Count, 1).End(xlUp).Row) + 1).Value = cell.Value
        Sheets(sValeur).Range("A" & (Sheets(sValeur).Cells(Sheets(sValeur).Rows.Count, 1).End(xlUp).Row)).Offset(0, 1).Value = cell.Offset(0, 1).Value

    Next

End Sub
8classeur10.xlsm (24.08 Ko)
Sub Recopie()

Dim Cellule As Range
Dim TypeMATERIEL As String
Dim Compteur_PC, Compteur_Ecran, NbLigne As Integer
Dim Debut As Integer
Dim SN As String
     'Sélectionner la bonne feuille
      Sheets("SCAN LAB").Select
' Boucle sur chaque cellule de la colonne contenant les types de matériel (colonne C)
Compteur_PC = 2   'ce compteur comptera les lignes copiées sur la feuille des PC
Compteur_Ecran = 2 'ce compteur comptera les lignes copiées sur la feuille des liaisons Ecran
Debut = 7  'permet de modifier rapidement ton code le jour où cela ne commence plus à 7
NbLigne = Debut  'cette variable permet de commencer au Debut puis de mémoriser la ligne en cours de recopie

For Each Cellule In Range("C" & Debut & ":C" & Cells(ActiveSheet.Rows.Count, 3).End(xlUp).Row)
      TypeMATERIEL = Cellule.Value
       SN = Range("A" & NbLigne).Value
       If TypeMATERIEL = "PC" Then

              Sheets("PC").Range("A" & Compteur_PC).Value = SN
              'Trouver le code similaire pour récupérer de la même façon le numéro de la salle

              Compteur_PC = Compteur_PC + 1
       Else
            'Sinon c'est un écran, trouver le code similaire qui recopie sur la bonne feuille au bon endroit (celle des écrans)

              Compteur_Ecran = Compteur_Ecran + 1
       End If
      NbLigne = NbLigne + 1

    Next

End Sub

Uptade, avec l'aide de mon tuteur on a fais ça.

Par contre je vois pas comment continuer

Sub Recopie()

Dim Cellule As Range
Dim TypeMATERIEL As String
Dim Compteur_PC, Compteur_Ecran, NbLigne As Integer
Dim Debut As Integer
Dim SN, SALLE As String

'Sélectionner la bonne feuille
      Sheets("SCAN LAB").Select

' Boucle sur chaque cellule de la colonne contenant les types de matériel (colonne C)
Compteur_PC = 2   'ce compteur comptera les lignes copiées sur la feuille des PC
Compteur_SALLE = 2 'ce compteur comptera lesl ignes copiées sur les feulles des salle
Compteur_Ecran = 2 'ce compteur comptera les lignes copiées sur la feuille des liaisons Ecran
Debut = 7  'permet de modifier rapidement ton code le jour où cela ne commence plus à 7
NbLigne = Debut  'cette variable permet de commencer au Debut puis de mémoriser la ligne en cours de recopie

For Each Cellule In Range("C" & Debut & ":C" & Cells(ActiveSheet.Rows.Count, 3).End(xlUp).Row)
      TypeMATERIEL = Cellule.Value
       SN = Range("A" & NbLigne).Value
       SALLE = Range("B" & NbLigne).Value
       If TypeMATERIEL = "PC" Then

              Sheets("PC").Range("A" & Compteur_PC).Value = SN
              Sheets("PC").Range("B" & Compteur_PC).Value = SALLE

              Compteur_PC = Compteur_PC + 1
       Else

          Sheets("ECRAN").Range("B" & Compteur_Ecran).Value = SN

            'Sinon c'est un écran, trouver le code similaire qui recopie sur la bonne feuille au bon endroit (celle des écrans)

              Compteur_Ecran = Compteur_Ecran + 1
       End If
      NbLigne = NbLigne + 1

    Next

End Sub

Re-bonjour, étant toujours en stage de seconde, je ne comprend pas vraiment le code, mon tuteur l'a beaucoup améliorer mais je n'y comprend plus rien quelqu'un pourrais m'expliquer quel formule fait quoi ?

Rechercher des sujets similaires à "copier coller feuille"