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 :

probleme erreur 13 [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Homme Profil pro
    autodidacte
    Inscrit en
    Novembre 2013
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 517
    Par défaut probleme erreur 13
    Bonjour à tous,

    Je voudrais recopier le contenu d'une cellule dans plusieurs autres cellules en passant par VBA
    Je pensai que ce serai simple et bien je galère!! lol

    j'ai pensé à ce code mais je pense qu'il existe une solution plus simple. En tout cas ma solution ne fonctionne pas et renvoie une erreur 13 car la ligne target.columns renvoie non pas le N) de colonne mais le contenu que je mets dans la cellule. ex: si je mets "aze" dans la cellule V4, target.columns me renvoie "aze"....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim VISA_A_RECOPIER As String 'variable prenant le visa mis en colonne V pour recopier dans la ligne entière
     
    'Recopiage des visas mis en colonne V dans toutes les cases correspondantes
    With ThisWorkbook.Worksheets("Pilotage")
    If Not Intersect(Target, .Range("V4:V8")) Is Nothing Then
    VISA_A_RECOPIER = Target.Value
    .Cells(Target.Row, Target.Columns - 20).Value = VISA_A_RECOPIER
    .Cells(Target.Row, Target.Columns - 16).Value = VISA_A_RECOPIER
    .Cells(Target.Row, Target.Columns - 12).Value = VISA_A_RECOPIER
    .Cells(Target.Row, Target.Columns - 8).Value = VISA_A_RECOPIER
    End If
    End With
    End Sub

    Merci de votre aide!!

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    tu utilises la collection Columns à tort, il faut utiliser la propriété Column (sans le "s") comme pour ton utilisation de la propriété Row

    une petite simplification basée sur le fait que tes cellules de destination peuvent se parcourir par multiple de 4
    et il est fort probable (pour ne pas dire sûr) que ton bloc With n'est pas utile ... tu es déjà sur la feuille "Pilotage" (je présume) quand ta procédure évènementielle s'active

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim VISA_A_RECOPIER As String
        Dim i As Integer
     
        If Not Intersect(Target, Range("V4:V8")) Is Nothing Then
            VISA_A_RECOPIER = Target.Value
            For i = 8 To 20 Step 4
                Cells(Target.Row, Target.Column - i).Value = VISA_A_RECOPIER
            Next i
        End If
    End Sub

  3. #3
    Membre chevronné
    Homme Profil pro
    autodidacte
    Inscrit en
    Novembre 2013
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 517
    Par défaut
    Merci beaucoup pour ta réponse!

    C'est effectivement ca! le petit s qui change tout!

    Merci pour tes explications et ta simplification qui marche du tonnerre. C'est vrai que j'ai pas pensé à boucle par step 4!


    Bien joué!

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

Discussions similaires

  1. Probleme: erreur avec CreateFile("COM1",..)
    Par zandoli dans le forum Windows
    Réponses: 1
    Dernier message: 11/10/2006, 15h00
  2. Probleme erreur java.lang.NullPointerException
    Par Tsukaasa dans le forum Langage
    Réponses: 4
    Dernier message: 25/05/2006, 18h19
  3. probleme erreur 130
    Par koaster dans le forum Administration
    Réponses: 1
    Dernier message: 24/04/2006, 10h09
  4. [VBA]probleme : erreur 2001 operation annulée
    Par julio78 dans le forum Access
    Réponses: 6
    Dernier message: 09/01/2006, 15h21
  5. Probleme erreur 241.
    Par FilipeVV dans le forum MS SQL Server
    Réponses: 15
    Dernier message: 18/02/2005, 11h50

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