Explications ou conseils

bonjour le forum

j'ai une macro dans un classeur qui fonctionne bien.

je l'ai recopié dans un autre classeur avec comme seul changement la lettre d'une colonne,et la elle ne fonctionne plus.

j'ai créé un bouton et affecté cette macro.

je n'ai pas de message d'erreur.

de quoi cela peut-il bien venir

merci

Bonjour

Vaste comme question

Sans ton fichier cela ne va pas être évident

Si tu as tout recopié

Places un msgbox en début de la macro pour voir si elle est bien appelée

Voir si la nouvelle colonne remplit les mêmes conditions que l'ancienne

bonjour banzai64,le forum

voici le code de la 1ere macro qui fonctionne

Dim Cellule As Range
Dim plage As Range

Dim i, L, c As Integer
i = 6
Set plage = Range("X1:AQ1")

While IsEmpty(Range("V" & i)) = False
     For Each Cellule In plage
      If Range(Cellule.Address).Value = Range("X" & i).Value Then
      L = Range("Z" & i).Value + 29
      c = Range("AA" & i).Value + 7
      Cells(c, L) = Cells(c, L) + 1
      End If
     Next Cellule
      i = i + 1
Wend

et celui qui ne fonctionne pas

Dim Cellule As Range
Dim plage As Range

Dim i, L, c As Integer
i = 6
Set plage = Range("AD1:AW1")

While IsEmpty(Range("X" & i)) = False
     For Each Cellule In plage
      If Range(Cellule.Address).Value = Range("AD" & i).Value Then
      L = Range("AB" & i).Value + 31
      c = Range("AC" & i).Value + 10
      Cells(c, L) = Cells(c, L) + 1
      End If
     Next Cellule
      i = i + 1
Wend
    Range("X3").Select
End Sub

seul les colonnes ont été décalé mais j'ai rectifié 29 en 31 et les lignes 7 en 10

merci a+

Bonjour

Sans ton fichier pas évident de comprendre ton code car pour moi ces 2 codes fonctionnent .... sur le papier

Tout ce que j'ai vu

1er code :

Plage X1:AQ1 (Colonnes 24 à 43) et tu regardes la colonne V (Colonne 22) si elle est vide ---> Différence 24 -22 = 2

2ème code

Plage AD1:AW1 (colonnes 30 à 49) et tu regardes la colonne X (colonne 24) si elle est vide ---> Différence 30 -24 = 6

Normal, pas normal je ne sais

Une autre étude nécessite ton fichier en y expliquant ce que tu veux

bonjour banzai64,le forum

je joint un fichier avec des explications, je l'ai mis au meme endroit que dans mon classeur,,j'ai recopié la macro et la non plus elle ne fonctionne pas alors que celle d'origine marche.

merci

a+

23post1.xlsm (26.44 Ko)

Bonjour

Pas évident pour moi de comprendre

Si j'ai compris

Tu parcours la ligne 3 de AD à AW, si tu trouves 1 , tu recherches le nombre de la ligne 1 dans la colonne Z, 2 cellules à droite + 31 te donne la colonne et 3 cellules à droite +10 te donne la ligne

Reste plus qu'à augmenter de 1 la cellule correspondante

Si c'est ça voici un code (que je comprend) qui fait cela

On peut ajouter les 2, les 3 et les 4 de la ligne 3

En plus si j'ai bien saisi tu peux te passer de la colonne AB car c'est la même chose que la ligne 3

Voici la macro à tester

Sub Macro1()
'
' Macro1 Macro
' f1-tableau
'
Dim Cellule As Range
Dim plage As Range
Dim J As Long, Ligne As Long
Dim I As Integer, Colonne  As Integer
Dim Cel As Range

  For I = 30 To 49
    If Cells(3, I) = 1 Then
      Set Cel = Columns("Z").Find(what:=Cells(1, I), LookIn:=xlValues, lookat:=xlWhole)
      If Not Cel Is Nothing Then
        Ligne = Cel.Offset(0, 3) + 10
        Colonne = Cel.Offset(0, 2) + 31
        Cells(Ligne, Colonne) = Cells(Ligne, Colonne) + 1
      Else
        MsgBox "Problème on ne trouve pas " & Cells(1, I) & " dans la colonne Z"
        'Exit Sub
      End If
    End If
  Next I
End Sub
Rechercher des sujets similaires à "explications conseils"