Correction macro Excel
Utilisateur anonyme
-
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour
J'ai une macro qui bizarrement marchait bien hier et aujourd'hui non. Pourtant je ne l'ai pas modifiée. Sauriez-vous me dire ce qui cloche ?
Merci d'avance
Sub Afficher_Données_Séléctionnées ()
Dim x, i As Integer
Dim Cells As Range
Dim j As Long
j = 1
Application.ScreenUpdating = False
x = Sheets(2).Range("E2").Value
With Sheets(3)
For i = 3 To Range("A65536").End(xlUp).Row
If .Cells(i, 1).Value = x Then
.Range(.Cells(i, 1), .Cells(i, 2)).Copy
Sheets(2).Select
Sheets(2).Range("B3").Offset(0, j).Select
Selection.PasteSpecial Paste:=xlPasteValues, Transpose:=True
j = j + 1
End If
Next i
End With
Application.ScreenUpdating = True
End Sub
Laure
J'ai une macro qui bizarrement marchait bien hier et aujourd'hui non. Pourtant je ne l'ai pas modifiée. Sauriez-vous me dire ce qui cloche ?
Merci d'avance
Sub Afficher_Données_Séléctionnées ()
Dim x, i As Integer
Dim Cells As Range
Dim j As Long
j = 1
Application.ScreenUpdating = False
x = Sheets(2).Range("E2").Value
With Sheets(3)
For i = 3 To Range("A65536").End(xlUp).Row
If .Cells(i, 1).Value = x Then
.Range(.Cells(i, 1), .Cells(i, 2)).Copy
Sheets(2).Select
Sheets(2).Range("B3").Offset(0, j).Select
Selection.PasteSpecial Paste:=xlPasteValues, Transpose:=True
j = j + 1
End If
Next i
End With
Application.ScreenUpdating = True
End Sub
Laure
2 réponses
-
Bonjour,
difficile à dire sans savoir où ca plante et le message
mais Cells est un mot réservé VBA ( cells est un objet "range") et tu n='as pas a marqué
dim cells as range
:-x -
Bonjour,
En fait je ne reçois pas de message d'erreur.
Là j'ai supprimé le Dim Cells as Range, mais toujours.
Lorsque je teste cette macro sur un classeur Excel on y saisissant au hasard des données, elle marche. Mais dans mon fichier parfois oui parfois non ... c'est vraiment bizarre j'ai vérifié le format des données mais toujours rien
Laure-
Bonjour,
Fais-le en pas à pas jusqu'au point ou ça ne marche pas correctement et regarde de près l'évolution des variables à ce moment là, tu devrais trouver le pourquoi.
Par exemple :
If .Cells(i, 1).Value = x Then
Quelle valeur exacte a Cells(i, 1) ?
Y'a-t'il un problème d'arrondi (ce n'est pas parce que tu lis 5.1 que la valeur est 5.1, elle peut être 5.999999999999999?
Est-ce que ça ne serait pas une valeur en texte au lieu de numérique ?
Par ailleurs avec :
Dim x, i As Integer
seul i est integer, x est variant.
C'est peut-être ce que tu voulais mais...
eric -
-