Erreur 438 ?? [Résolu]

eastpeople 105 Messages postés dimanche 16 décembre 2007Date d'inscription 11 novembre 2008 Dernière intervention - 25 juin 2008 à 15:20 - Dernière réponse : eastpeople 105 Messages postés dimanche 16 décembre 2007Date d'inscription 11 novembre 2008 Dernière intervention
- 25 juin 2008 à 16:52
Bonjour, sur ce code

Private Sub OK_Click()
Dim Recherche As Range
    Set Recherche = Sheets("Abonnements").Cells.Find(type_dact.Text, LookIn:=xlValues, LookAt:=xlWhole)
    If type_dact = "" Then
        erreur = MsgBox("Le choix d'une activité est obligatoire", vbOKOnly + vbCritical, "OUPS")
    Exit Sub
    ElseIf Not Recherche Is Nothing Then
        Range("A" & Recherche.Row).Copy
        Sheets("calculs").Range("B2").Paste ------------Sur cette ligne il me met l'erreur 438
        Range("B" & Recherche.Row & ":F" & Recherche.Row).Copy
        Sheets("calculs").Range("B4").Paste
    End If
        Unload UTIL
        REPONSE.Show
End Sub

Avec le texte suivant :

Propriété ou méthode non gérée par cet objet.
Je ne sais pas ce que cela veut dire.
Merci de votre aide
Afficher la suite 

Votre réponse

12 réponses

Meilleure réponse
bigfish_le vrai 1839 Messages postés vendredi 13 mai 2005Date d'inscription 20 novembre 2013 Dernière intervention - 25 juin 2008 à 15:42
3
Merci
Salut,

effectivement la methode paste ne fonctionne pas comme ça. Je te donne la bonne methode pour info mais je te la deconseil pour ce que tu veux faire. tu trouveras plus bas la solution que je te conseil d'utiliser.

Private Sub OK_Click()
Dim Recherche As Range
    Set Recherche = Sheets("Abonnements").Cells.Find(type_dact.Text, LookIn:=xlValues, LookAt:=xlWhole)
    If type_dact = "" Then
        erreur = MsgBox("Le choix d'une activité est obligatoire", vbOKOnly + vbCritical, "OUPS")
    Exit Sub
    ElseIf Not Recherche Is Nothing Then
        Range("A" & Recherche.Row).Copy
        ActiveSheet.Paste Destination:=Sheets("calculs").Range("B2")
        Range("B" & Recherche.Row & ":F" & Recherche.Row).Copy
        ActiveSheet.Paste Destination:=Sheets("calculs").Range("B4").Paste
    End If
        Unload UTIL
        REPONSE.Show
End Sub

Maintenant la methode conseillée :

Private Sub OK_Click()

Dim Recherche As Range

    Set Recherche = Sheets("Abonnements").Cells.Find(type_dact.Text, LookIn:=xlValues, LookAt:=xlWhole)

    If type_dact = "" Then

        erreur = MsgBox("Le choix d'une activité est obligatoire", vbOKOnly + vbCritical, "OUPS")

    Exit Sub

    ElseIf Not Recherche Is Nothing Then

        Sheets("calculs").Range("B2").Value = Range("A" & Recherche.Row).Value

        Sheets("calculs").Range("B4").Value = Range("B" & Recherche.Row & ":F" & Recherche.Row).value

    End If

        Unload UTIL

        REPONSE.Show

End Sub

A+

Merci bigfish_le vrai 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de bigfish_le vrai
Meilleure réponse
bigfish_le vrai 1839 Messages postés vendredi 13 mai 2005Date d'inscription 20 novembre 2013 Dernière intervention - 25 juin 2008 à 16:00
3
Merci
oups oui j'ai pas bien regardé

remplace : Sheets("calculs").Range("B4").Value = Range("B" & Recherche.Row & ":F" & Recherche.Row).value

par : Sheets("calculs").Range("B4:F4").Value = Range("B" & Recherche.Row & ":F" & Recherche.Row).value

Merci bigfish_le vrai 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de bigfish_le vrai
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 25 juin 2008 à 15:35
0
Merci
Salut
Parce que ce ne doit pas être la bonne méthode.
N'y connaissant rien moi même, j'ai ouvert Excel, enregistré un macro pendant que je faisais un copier/coller entre deux colonnes et il m'a fourni ce code :
    Range("A2").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("calculs").Select
    Range("B2").Select
    ActiveSheet.Paste

Tu aurasi pu faire la même chose pour vérifier ta syntaxe ...

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Commenter la réponse de cs_Jack
eastpeople 105 Messages postés dimanche 16 décembre 2007Date d'inscription 11 novembre 2008 Dernière intervention - 25 juin 2008 à 15:55
0
Merci
Pourquoi me déconseilles tuta première méthode, elle marche, tandis que la deuxième me copie que la premiere case de la ligne B??
Commenter la réponse de eastpeople
bigfish_le vrai 1839 Messages postés vendredi 13 mai 2005Date d'inscription 20 novembre 2013 Dernière intervention - 25 juin 2008 à 15:56
0
Merci
...

j'ai oublier de preciser que la methode copy/paste est interressante dans le cas ou tu veux copier tout ce qui concerne la cellule source, c'est a dire le format, format conditionnel, valeur formule enfin bref tout ce qui peut etre lié a la cellule. Par contre la deuxieme methode copie uniquement la valeur.

Jack : ta methode fonctionne mais je doit dire que je me bat pour que les gents utilisent des solutions sans select qui ralentit l'execution des macro.
En faite il existe toujours une solution qui permet de ne pas faire de selection soit par une construction opposé a l'enregistreur de macro(proche du VB6) ou tu consideres tes cellules ou tes tableau comme des variable ou soit par une synthaxe adappter comme la methode copy/paste que je propose.

A+
Commenter la réponse de bigfish_le vrai
eastpeople 105 Messages postés dimanche 16 décembre 2007Date d'inscription 11 novembre 2008 Dernière intervention - 25 juin 2008 à 16:02
0
Merci
D'accord bigfish_le vrai mais dans ta deuxième solution il ne copi pa la ligne entière mais seulement la premiere case.
Commenter la réponse de eastpeople
eastpeople 105 Messages postés dimanche 16 décembre 2007Date d'inscription 11 novembre 2008 Dernière intervention - 25 juin 2008 à 16:07
0
Merci
Merci bigfish_le vrai, je t'explique mon gros problème je dois rendre mon projet vendredi et j'ai encore 3 ou 4 choses qui ne marche pa ou qui disfonctionnement, et il faut un peu connaitre le projet pour comprendre. Est ce qu'il serait possible que je t'envoi mon projet pour que tu y jette un oeil svp tu me sauverai la vie car je ne sais plus commen faire.
Commenter la réponse de eastpeople
eastpeople 105 Messages postés dimanche 16 décembre 2007Date d'inscription 11 novembre 2008 Dernière intervention - 25 juin 2008 à 16:25
0
Merci
bigfish pleaseeeeeeeeee, jten suppli j'ai compté il me reste 3problèmes tu devrais en avoir pour 5min.
Commenter la réponse de eastpeople
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 25 juin 2008 à 16:31
0
Merci
Re
Eastpeople : Pas la peine de pleurer :
- Tu n'avais qu'à t'y prendre plus tôt, on n'est pas un service d'urgence
- Si tu as d'autres questions, pose-les sur le forum en donnant suffisemment de détails et d'explications.
  Pas la peine de copier/coller tout ton code, ça découragera les membres de bonne volonté.
Commenter la réponse de cs_Jack
eastpeople 105 Messages postés dimanche 16 décembre 2007Date d'inscription 11 novembre 2008 Dernière intervention - 25 juin 2008 à 16:34
0
Merci
Alors Jack c'est sympa de me répondre aussi gentiment, et quand je ne mets pas tout mon code on me dit qu'il faut que je mette tout mon code alors je sais pas moi, et je mis suis pris quand j'ai eu le temps.
Commenter la réponse de eastpeople
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 25 juin 2008 à 16:47
0
Merci
Ce que je veux dire, c'est que la notion d'urgence n'a aucun effet sur les réponses, ça a même tendance à agacer.
Si, tu peux copier du code, mais ne mets que le strict nécessaire.
Approfondis tes explications en détaillant ce que tu essayes de faire, ce qui ne semble pas marcher, les codes et message d'erreur que tu rencontres, etc ... afin que le membre sache de quoi il retourne sans avoir besoin d'éplucher le code.
Reprécise bien aussi à chaque fois dans quel enironnement tu travailles (Excel) et quelle version.

Et, règle importante : Ne pose qu'un seul sujet par question, sinon les réponses seront confuses et tu perdras du temps.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Commenter la réponse de cs_Jack
eastpeople 105 Messages postés dimanche 16 décembre 2007Date d'inscription 11 novembre 2008 Dernière intervention - 25 juin 2008 à 16:52
0
Merci
D'accord j'ai compris le message merci jack.
Commenter la réponse de eastpeople

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.