Probléme de code !!

[Résolu]
Signaler
Messages postés
15
Date d'inscription
lundi 23 janvier 2006
Statut
Membre
Dernière intervention
8 septembre 2012
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
<< débutant en vba j'ai un tableau excel avec plusieurs colonnes ma macro me permet d'apres une saisie dans une colonne de remplir 2 autre colonnes automatiquement si la saisie à déja été entré.
Détails:

en colonne F les donnes saisies
en colonne E et D les données qui s'ajoutes par rapport a la saisie de la colonne F.

Mais problème avec le code de ma macro qui me plante

voici le code :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
If Target.Column 6 And Target.Count 1 Then
If Application.CountIf(Range("F:F"), Target.Value) < 1 Then
i = Application.Match(Target.Value, Range("F:F"), 0)
Target.Offset(0, 1).Value = Cells(i, 4).Value
Target.Offset(0, 2).Value = Cells(i, 5).Value
Else
Target.Offset(0, 1).Resize(1, 2).ClearContents
End If
End If
End Sub

8 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Bonjour,

Tu m'as fait beaucoup rire
Ecris ceci (ton code + des msgbox) :
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim i As Long
  If Target.Column 6 And Target.Count 1 Then
    
    If Application.CountIf(Range("F:F"), Target.Value) < 1 Then
      
      i = Application.Match(Target.Value, Range("F:F"), 0)
      MsgBox "J'écris maintenant " & Target.Offset(0, 1).Address & " et " & Target.Offset(0, 2).Address & _
             "puisque mon Target.Count = " & Target.Count
      Target.Offset(0, 1).Value = Cells(i, 4).Value
      Target.Offset(0, 2).Value = Cells(i, 5).Value
    Else
      MsgBox "j'efface " & Target.Offset(0, 1).Address & "  puisque mon target.count = " & Target.Count
      Target.Offset(0, 1).Resize(1, 2).ClearContents
    End If
  End If
End Sub

Et regarde ce qui se déroule.
____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
et cette ligne est pour le moins étonnante :
i = Application.Match(Target.Value, Range("F:F"), 0)

Elle ne peut que te conduire à une magnifique erreur si, te plaçant sur une cellule de la colonne F, tu en supprime le contenu !

____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Quel que soit le but :
Mon premier message t'invitait à voir le déroulement (qui devrait t'ouvrir les yeux) !
Mon second message t'alertait sur un risque supplémentaire

Qu'en as-tu fait depuis ?


____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
J'essaye de comprendre mais je sèche ? Dis moi quoi faire ?

Ben... exécuter ==>> lire les messages reçus ===>> et réaliser ainsi ce que tu fais par ton code
(c'est un minimum, là).


____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
Messages postés
1241
Date d'inscription
mardi 10 octobre 2006
Statut
Membre
Dernière intervention
27 août 2013
6
Bonjour également à toi,

ta macro plante, oui et où? C'est vague...tu as bien un message d'erreur ou autre non?

De rien.


L'expérience, c'est une connerie par jour, mais jamais la même..
Messages postés
15
Date d'inscription
lundi 23 janvier 2006
Statut
Membre
Dernière intervention
8 septembre 2012

<< Aucun message d'erreur rien se passe d'ou la mon probléme?
Messages postés
15
Date d'inscription
lundi 23 janvier 2006
Statut
Membre
Dernière intervention
8 septembre 2012

<< Cette macro permet d'éviter de saisir des donnees repeter dans les colonnes E ET D par rapport a la colonne F.
<< si je saisie des données dans la colone F cette macro me permet d'eviter de saisir dans la colonne E et D puisque ces données sont déja en double dans la colonne E et D . D'ou mon probleme de macro !!
Messages postés
15
Date d'inscription
lundi 23 janvier 2006
Statut
Membre
Dernière intervention
8 septembre 2012

<< J'essaye de comprendre mais je sèche ? Dis moi quoi faire ?