Chich0n
XLDnaute Nouveau
Bonjour,
je dois transférer un macro qui marchait très bien sous excel 2010 vers excel XP.
Et je m'aperçois qu'il plante dès qu'il faut coller, or, c'est la base même de ma macro ...
Quelqu'un aurait une idée pour corriger mon code :
Il est difficile pour moi de transférer le fichier puisque c'est interne à l'entreprise...
je dois transférer un macro qui marchait très bien sous excel 2010 vers excel XP.
Et je m'aperçois qu'il plante dès qu'il faut coller, or, c'est la base même de ma macro ...
Quelqu'un aurait une idée pour corriger mon code :
Code:
Sub Macro6()
Sheets("MEMOIRE").Select
Dim R As String
Dim Reponse As String
R = Range("G13").Value
Reponse = Range("G14").Value
Dim Trouve As Boolean
Dim x As Integer
Sheets("Historique RED").Select
Range("B2").Select
Do
'Boucle tant que le compteur x est inférieur à 50
Do While x < 80
'Incrémente le compteur.
x = x + 1
'Vérifie le contenu de la cellule.
If Cells(x, 2) = Reponse Then
'Attribue la valeur Vrai si le mot est trouvé.
Trouve = True
'Anticipe la sortie de la boucle.
Exit Do
End If
Loop
'Quitte la boucle si la variable à la valeur True.
Loop Until Trouve = True Or x = 80
For Each Cell In Columns(2)
If Trouve = True Then Macro2
Next
If Trouve = False Then Range("A1").Select
Sheets("MEMOIRE").Select
R = Range("G13").Value
Reponse = Range("G14").Value
Sheets(R).Select
Range("A1").Select
'recherche
'Cells.Find(What:=Reponse, After:=ActiveCell, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
'True, SearchFormat:=False).Activate
'Range("B1", "B80").Select '(à adapter en fonction de la zone de recherche)
'For Each Cells In Selection
'If Ce.Value = "Reponse" Then
'c.Select
''Exit For
'End If
'Next
Dim Ligne As String
Range("B1", "B80").Select '(à adapter en fonction de la zone de recherche)
For Each Cell In Selection
If Cell.Value = Reponse Then
Cell.Select
Ligne = ActiveCell.Address
Exit For
End If
Next
Range("A1").Select
Range(Ligne).Select
'décalage et copie
' ActiveCell.Offset(0, -1).Range("A1:AY8").Select
' Selection.Copy
'collage en bas de Historique RED
Sheets("Historique RED").Select
Range("A65536").End(xlUp).Offset(4, 0).Select
'Offset(0, -1).
' ActiveCell.Range("A1:AY8").Select
Range("A65536").End(xlUp).Offset(4, 0).Select
Dim dercell As String
dercell = ActiveCell.Value
Range(dercell).Range("A1:AY8") = Sheets(R).Range(Ligne).Offset(0, -1).Range("A1:AY8")
'ActiveSheet.Paste
'nettoyage du fichier de rame
ActiveWorkbook.Sheets(R).Select
Range("B1").Select
Dim Ligne1 As String
Range("B1", "B80").Select '(à adapter en fonction de la zone de recherche)
For Each Cell In Selection
If Cell.Value = Reponse Then
Cell.Select
Ligne1 = ActiveCell.Address
Exit For
End If
Next
Range(Ligne1).Select
Dim Adresse As String
Adresse = ActiveCell.Address
ActiveCell.Offset(0, -1).Select
ActiveCell.Range("A1:AY8").Select
Selection.Delete Shift:=xlToLeft
Range("A1").Select
Sheets("Modèle").Select
Range("A3:AY10").Select
Selection.Copy
Sheets(R).Select
Range("A1").Select
Range(Adresse).Select
ActiveCell.Offset(0, -1).Select
ActiveSheet.Paste
Sheets("OPERATIONS").Select
End Sub
Il est difficile pour moi de transférer le fichier puisque c'est interne à l'entreprise...