IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

fichier excel instable [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de bosk1000
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    706
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 706
    Par défaut fichier excel instable
    bonjour a tous,

    mon fichier n'arrete pas de planter
    et en plus lorsqu'il veux bien fonctionner, à la validation, il me colle des information dans des feuilles non voulue (la feuille "c12")

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
     
    ' ouverture fichier
    Private Sub UserForm_Initialize()
    ' activez les sources de menu déroulant
    Sheets("tarif").Select
    Range("d1:g9").Select
    Selection.ClearContents
    c12ref1.RowSource = "tarif!a1:n" & Range("tarif!a65536").End(xlUp).Row
    c12ref2.RowSource = "tarif!a1:n" & Range("tarif!a65536").End(xlUp).Row
    c12ref3.RowSource = "tarif!a1:n" & Range("tarif!a65536").End(xlUp).Row
    c12ref4.RowSource = "tarif!a1:n" & Range("tarif!a65536").End(xlUp).Row
    c12ref5.RowSource = "tarif!a1:n" & Range("tarif!a65536").End(xlUp).Row
    c12ref6.RowSource = "tarif!a1:n" & Range("tarif!a65536").End(xlUp).Row
    c12ref7.RowSource = "tarif!a1:n" & Range("tarif!a65536").End(xlUp).Row
    c12ref8.RowSource = "tarif!a1:n" & Range("tarif!a65536").End(xlUp).Row
    c12ref9.RowSource = "tarif!a1:n" & Range("tarif!a65536").End(xlUp).Row
    End Sub
     
     
    'saisie du nom
    Private Sub boxnom_AfterUpdate()
    Sheets("recap commande").Select
    Range("a65536").End(xlUp).Select
    ActiveCell.Offset(1, 0).Select
    ActiveCell.Value = boxnom.Value
    End Sub
     
                            'EVENEMENT POUR CHAQUE SELECTION DE REF
    Private Sub c12ref1_Change()
    Sheets("tarif").Select
    Dim rech1 As String
    Dim plage As Range, c As Range
    rech1 = c12ref1.Value
    Set plage = Worksheets("tarif").UsedRange
        With plage
                 Set c = .Find(What:=rech1, LookAt:=xlPart)
                    If Not c Is Nothing Then
                        Range("f1").Value = c.Offset(0, 1).Value
                            c12p1.Value = c.Offset(0, 1).Value
                            Range("e1").Value = rech1
                    End If
        End With
    End Sub
     
                              ' evenement sur changement quantité
    Private Sub q1_Change()
    Dim total1 As Double
    Range("g1").Value = Val(q1)
    t1.Value = Range("h1").Value
    End Sub
     
    'vérification du total
    Private Sub CommandButton3_Click()
    totalg = Range("h10").Value
    Sheets("recap commande").Select
    Range("a65536").End(xlUp).Select
    ActiveCell.Offset(0, 1).Select
    ActiveCell.Value = Sheets("tarif").Range("h10").Value
    End Sub
    ' validation
    Private Sub CommandButton1_Click()
    Dim numdl As String, i As Integer
    Sheets("tarif").Select
    numdl = Range("e65536").End(xlUp).Row
    For i = 1 To numdl
    Range("d" & i).Value = boxnom.Value
    Next i
     
    ' transfert sur la feuille de commande
    If c12.Value = True Then calibre_12
    If c16.Value = True Then calibre_16
    If c20.Value = True Then calibre_20
     
    Unload UserForm1
    End Sub

    et le code pour les transferts sur la feuille de commande

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Sub calibre_12()
    Sheets("tarif").Select
    Range("d1:h9").Copy
    Sheets("c12").Select
    Range("a65536").End(xlUp).Select
    ActiveCell.Offset(1, 0).Select
    ActiveSheet.Paste
    End Sub

  2. #2
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    On ne t'a pas déjà dit 100fois d'éviter les .select?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Sub calibre_12()
    Sheets("tarif").Select
    Range("d1:h9").Copy
    Sheets("c12").Select
    Range("a65536").End(xlUp).Select
    ActiveCell.Offset(1, 0).Select
    ActiveSheet.Paste
    End Sub
    Bon en plus tu utilise activesheet.past et non activecell.paste

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub calibre_12()
    Sheets("tarif").Range("d1:h9").Copy
    Sheets("c12").Range("a65536").End(xlUp).Offset(1, 0).Paste
    End Sub
    mieux sans passer par le prese papier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub calibre_12()
    Sheets("tarif").Range("d1:h9").Copy  Sheets("c12").Range("a65536").End(xlUp).Offset(1, 0)
    End Sub
    Après j'ai du mal a te répondre tu dis qu'il te colle des information non voulu. Je ne sais pas ce que tu veux mais je sais que lui fait ce que tu lui dis. Et comme nous tu ne nous dis rien de plus.

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Déjà tu peux simplifier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub calibre_12()
    Sheets("tarif").Range("d1:h9").Copy Sheets("c12").Range("A" & range("a65536").End(xlUp).row).Offset(1, 0)
    End Sub
    Ton range("a65536").End(xlUp) que je n'ai jamais utilisé tel quel) me gène un peu... Et là je n'ai aucun pb

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Gestion instable de fichier Excel manipulé sous access
    Par shakapouet dans le forum VBA Access
    Réponses: 4
    Dernier message: 17/07/2012, 10h06
  2. Enregistrement d'un fichier Excel par automation
    Par tiopan dans le forum Access
    Réponses: 2
    Dernier message: 04/12/2003, 19h57
  3. Sauvegarde fichier excel
    Par tiopan dans le forum VBA Access
    Réponses: 2
    Dernier message: 22/10/2003, 13h36
  4. [Turbo Pascal] Utiliser un fichier Excel
    Par Lady dans le forum Turbo Pascal
    Réponses: 10
    Dernier message: 09/03/2003, 20h34
  5. Réponses: 2
    Dernier message: 22/07/2002, 12h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo