Code VBA obsolète

Résolu/Fermé
massimo888 Messages postés 203 Date d'inscription mercredi 11 juin 2014 Statut Membre Dernière intervention 7 avril 2017 - Modifié par pijaku le 26/08/2014 à 08:32
massimo888 Messages postés 203 Date d'inscription mercredi 11 juin 2014 Statut Membre Dernière intervention 7 avril 2017 - 26 août 2014 à 09:46
Bonjour,

J'ai élaboré ce code en vba qui marchait nickel jusqu'à hier soir!
et je ne comprend pas pourquoi il ne marche plus
Pourriez-vous m'aider.
merci.

Sub Recherche_Chaine()

Sheets("A").Activate
Dim Nb_Ligne As Integer, i As Integer

Nb_Ligne = Cells(Rows.Count, 1).End(xlUp).Row
Mot_Recherche = "oui"

'Recerche du mot oui dans la colonne A
For i = 1 To Nb_Ligne
    Resultat = InStr(Cells(i, 1), Mot_Recherche)
    
    If Resultat <> 0 Then
        'MsgBox ("Le mot a été trouvé en Ligne " & i)
        Range(Cells(i, 1), Cells(i, 34)).Select
        
        With Selection
        .Copy
        Sheets("B").Select
        Sheets("B").Select
        [A65536].End(xlUp).Select
        Selection.EntireRow.Insert
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        

        End With
        Sheets("A").Activate
    End If
Next i

Sheets("B").Activate

'Supression des doublons
    Range("Tableau2").Select
    ActiveSheet.Range("Tableau2").RemoveDuplicates Columns:=Array(1, 2, 3, 4, _
        5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, _
        33, 34), Header:=xlYes


End Sub







2 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
26 août 2014 à 08:32
Bonjour,

Dire « Ça ne marche pas » ou « Il y a une erreur », cela n'avance en rien.
Donnez le comportement observé et/ou le message d'erreur !

De plus, lorsque vous placez du code sur notre forum, merci d'utiliser les balises code à votre disposition.
Le mode d'emploi (au cas ou) est ICI.
0
massimo888 Messages postés 203 Date d'inscription mercredi 11 juin 2014 Statut Membre Dernière intervention 7 avril 2017
Modifié par massimo888 le 26/08/2014 à 09:23
Merci je suis désolé je suis adepte du forum depuis peu!
par contre le bug se fait au niveau de la partie collage
c'est au niveau de cette partie ou ça bloque ça me colle rien et il me met "méthode pastspecial a échoué'

sub

Selection.EntireRow.Insert
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
0
massimo888 Messages postés 203 Date d'inscription mercredi 11 juin 2014 Statut Membre Dernière intervention 7 avril 2017
26 août 2014 à 09:24
et encore désolé pour les balises j'irai faire un petit tour!! promis
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
26 août 2014 à 09:33
Bon.
Essaye de remplacer :
If Resultat <> 0 Then
  'MsgBox ("Le mot a été trouvé en Ligne " & i)
  Range(Cells(i, 1), Cells(i, 34)).Select
        
  With Selection
    .Copy
    Sheets("B").Select
    Sheets("B").Select
    [A65536].End(xlUp).Select
    Selection.EntireRow.Insert
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        

  End With
  Sheets("A").Activate
End If


par :

If Resultat <> 0 Then
  'MsgBox ("Le mot a été trouvé en Ligne " & i)
  Range(Cells(i, 1), Cells(i, 34)).Copy
  With Sheets("B").Range("A65536").End(xlUp).Offset(1, 0)
    .PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
  End With
End If

0
massimo888 Messages postés 203 Date d'inscription mercredi 11 juin 2014 Statut Membre Dernière intervention 7 avril 2017
26 août 2014 à 09:34
Okey je te remercie!

Je teste et je reviens vers toi
0
massimo888 Messages postés 203 Date d'inscription mercredi 11 juin 2014 Statut Membre Dernière intervention 7 avril 2017
26 août 2014 à 09:38
ça marche nickel!!
Un grand merci pour toi
je fais résolu tout de suite
encore merci
0
massimo888 Messages postés 203 Date d'inscription mercredi 11 juin 2014 Statut Membre Dernière intervention 7 avril 2017
26 août 2014 à 09:42
Par contre juste comment s'assurer que la macro perdurera!!
La mienne marchait hyper bien
J'ai l'impression qu'elle a une durée de vie
qu'est ce t'en pense?
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
26 août 2014 à 09:45
J'en penses que le PasteSpecial est capricieux... Mais surtout qu'il convient, en code VBA d'éviter les .Select...
0
massimo888 Messages postés 203 Date d'inscription mercredi 11 juin 2014 Statut Membre Dernière intervention 7 avril 2017
26 août 2014 à 09:46
C'est ce qu'il me semblait aussi!!
le select empêche le copy
0