Copier-Coller valeur cellule en fonction d'une autre : Bug

Bonjour,

Débutant en VBA.

Après de multiples essais et en manipulant des fichiers trouvés sur ce forum, je pensais avoir trouvé ce que je voulais, mais malheureusement je n'arrive pas à mes fins en ayant modifier ce fichier.

Copie valeur de la cellule (colonne A,C E,F) selon la présence ou non de 4 lettres (B, M, TB, N) (ceci pour faire des groupes de niveau (ces lettres étant attribuer auparavant dans mon fichier à des notes) dans la colonne B, D, F, H. En fonction de cela copie de la cellule précédente dans la Feuil2.

J'ai donc modifier un fichier déniché sur ce forum, je l'ai modifié pour essayer de correspondre à mes besoins, j'y suis presque mais il ne copie pas toutes les cellules ou le nom est incomplet.

De plus si une de ces lettres n'est pas présente dans une colonne, ça fait planté le code ?

J'ai besoin de vos lumières.

En vous remerciant par avance. Cordialement

25transfert.xlsm (23.46 Ko)

Bonjour et bienvenu(e)

Il faut déplacer le bloc A2:A9 en A3:A10 sinon il va y avoir un décalage

Macro à tester

Option Explicit

Sub Import()
Dim Ws As Worksheet, I As Integer, Ligne As Long, K As Integer
Dim Tablo, Lettres
Dim Msg As String, Colonne As Integer

  Lettres = Array("N", "B", "M", "TB")
  Columns("D").ClearContents
  Set Ws = Sheets("Feuil1")
  Tablo = Ws.Range("A1").CurrentRegion
  For Colonne = 2 To 8 Step 2
    Ligne = ((Colonne \ 2) - 1) * 10
    For I = 0 To UBound(Lettres)
      Msg = ""
      For K = 2 To UBound(Tablo, 1)
        If UCase(Tablo(K, Colonne)) = Lettres(I) Then
          Msg = Msg & " - " & Tablo(K, Colonne - 1)
        End If
      Next K
      Cells(Ligne + 4 + (I * 2), "D") = Mid(Msg, 4)
    Next I
  Next Colonne
End Sub

Attention le résultat est en colonne D

Bonjour

Merci pour votre réponse et votre réactivité.

J'obtiens bien les réponses en colonne D mais elles sont toutes identiques.

Au lieu de trier 4 fois la colonne B avec les 4 variables et copier les cellules correspondantes. Le code semble trier la colonne B en cherchant la valeur N, puis passe à la colonne D et cherche la valeur M etc ...

Au lieu de scanner les 4 colonnes (B,D,F,H) et rechercher les 4 valeurs (N,B,M,TB) pour reporter par la suite les résultats Feuil2. (Je me répète mais par écrit ce n'est pas évident parfois de bien expliquer les choses)

Juste en copie les 2 premiers résultats identiques, les autres en dessous sont pareils

Nom 2 - Nom 3 - Nom 5 - Nom 7 - Nom 8 - Nom 11 - Nom 12 - Nom 15 - Nom 16 - Nom 18 - Nom 20 - Nom 21

(Bien le résulat de la recherche de la valeur N dans la colonne A)

Nom 2 - Nom 6 - Nom 10

(Bien le résultat de la recherche de la valeur B colonne D)

Nom 3 - Nom 7

(Bien le résultat de la recherche de la valeur M colonne F)

Nom 4 - Nom 8 - Nom 9 - Nom 10 - Nom 11 - Nom 12 - Nom 13 - Nom 14 - Nom 15

(Bien le résultat de la recherche de la valeur TB colonne H)

Nom 2 - Nom 3 - Nom 5 - Nom 7 - Nom 8 - Nom 11 - Nom 12 - Nom 15 - Nom 16 - Nom 18 - Nom 20 - Nom 21

Nom 2 - Nom 6 - Nom 10

Nom 3 - Nom 7

Nom 4 - Nom 8 - Nom 9 - Nom 10 - Nom 11 - Nom 12 - Nom 13 - Nom 14 - Nom 15

En vous remerciant pour votre aide

Bonne soirée

Bonjour

Attention : Avant ton message j'avais changé la macro

Avec des données identiques partout je ne m'étais pas rendu-compte que cela n'allait pas, car les résultats étaient cohérents

Mais bon il faut que tu testes avec la nouvelle macro

RE,

Ça marche Nickel - Chrome

Merci beaucoup, je reviendrai!

Bonne soirée.

Rechercher des sujets similaires à "copier coller valeur fonction bug"