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
A voir également:
- Correction macro Excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
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
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
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
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