Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Action Conditionnel (Copier coller)

  • Initiateur de la discussion Initiateur de la discussion bloomby
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

bloomby

XLDnaute Occasionnel
Bonjour à tous,

J'essai de trouver la façon de résoudre le problème suivant


Je joins un fichier avec les informations,
ainsi qu'un exemple

merci
 

Pièces jointes

Re : Action Conditionnel (Copier coller)

Bonjour Bloomby 🙂,
Une petite événementielle dans ta feuille 1
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column Mod 11 <> 1 Or Target.Row <> 3 Then Exit Sub
MsgBox ("Cellule " & Target.Address)
End Sub
ne tiendra compte que des cellules qui t'intéresse. Avec l'addresse, tu peux en déduire les zones à copier/coller.
Bonne journée 😎
 
Re : Action Conditionnel (Copier coller)

Bonjour JNP merci pour la piste de solution
et merci à toi PierreJean pour avoir créer le fichier. c'est ce que je cherchais
par contre cela ne fait pas ce que j'aurais pensé

C'est à dire; la cellule en question ne change pas manuellement mais c'est plutôt un calcul qui est fait. Pour cette raison à l'aide du forum nous avions créer un code qui nous permettais de palier ce problème. Dernièrement LedZepFred nous à d'ailleurs aider à ce sujet.

Le code suivant Envoi un Email et Un Msg Box: j'aimerais ajouter la partie de PierreJean à ce dernier

Premier Code:
HTML:
Private Sub Worksheet_Calculate()
Dim M(20) As String
Dim i, j As Integer
Dim ol As Object
Dim olmail As Object
Dim CurrFile As Object
Dim Msg, Style, Title, Response
Set ol = CreateObject("Outlook.Application")
Set olmail = ol.CreateItem(0)
j = 1
For i = 1 To 201 Step 11
    If Cells(3, i) <> M(j) Then '1
        M(j) = Cells(3, i)

    With olmail
        .To = "timeislimite@hotmail.com"
        .Subject = Cells(3, i)
        .Body = ": " & Cells(3, i + 1) & "   : " & Cells(3, i + 2)
       ' .Attachments.Add "c:\data\essai.doc"
         '.Send
         .display
    'Debug.Print PlaySoundFileA("C:\Windows\Media\tada.wav")
    
    Call Sounds
    Msg = ": " & Cells(3, i + 1) & "   : " & Cells(3, i + 2)
    Style = vbYesNoCancel + vbQuestion + vbDefaultButton1
    Title = Cells(3, i)
    Response = MsgBox(Msg, Style, Title)
    End With
    Exit For
    End If
j = j + 1
Next
End Sub

Code de PierreJean et JNP à ajouter

HTML:
Private Sub Worksheet_Change(ByVal Target As Range)
If (Target.Column + 10) Mod 11 = 0 And Target.Row = 3 Then
  Range(Target, Target.Offset(0, 3)).Copy Destination:=Sheets("Sheet2").Range("A3")
  Range(Target.Offset(8, 0), Target.Offset(16, 1)).Copy Destination:=Sheets("Sheet2").Range("A11")
End If
End Sub

merci Bloomby
 
Dernière édition:
Re : Action Conditionnel (Copier coller)

Bonjour à tous,
j'ai essayé plusieurs façon dont la suivante:

For i = 1 To 201 Step 11
If Cells(3, i) <> M(j) Then '1
M(j) = Cells(3, i)

If (M(j) + 10) Mod 11 = 0 And Target.Row = 3 Then
Range(Target, Target.Offset(0, 3)).Copy Destination:=Sheets("Sheet2").Range("A3")
Range(Target.Offset(8, 0), Target.Offset(16, 1)).Copy Destination:=Sheets("Sheet2").Range("A11")
End If

Mais pour l'instant cela ne fonctionne pas.
la valeur M(j) est t'elle à la bonne place ou c'est la fonction qui n'est pas valable
 
Re : Action Conditionnel (Copier coller)

Re 🙂,
Le problème est que la procédure
Code:
Private Sub Worksheet_Calculate()
se déclenche à chaque calcul de feuille, mais ne te passe aucune indication sur quelle cellule a changé... Logique car si 200 cellules éparpillées sont recalculées en même temps, que pourrait-il t'indiquer ?
Tu pourrais peut-être utiliser une série pour identifier celle qui a changé (du style chaque cellule vrai vaut 1, tu additionnes chacune en multipliant à chaque fois par 2 en plus, soit tu obtiens 1 + 2 + 4 + 8 + 16... ce qui te permet d'après une valeur unique de savoir laquelle a changé) ?
Bon courage 😎
 
Re : Action Conditionnel (Copier coller)

Bonjour le forum, PierreJean, JNP,

Je vais prendre en note la dernière remarquer de JNP et essayer de créer une façon de faire, je vous reviens avec le résultat.

Bloomby
 
Re : Action Conditionnel (Copier coller)

Bonjour à tous,

Je refais une intervention car après plusieurs temps de recherche je n'est toujours pas la solution; présentement j'ai créer 20 différentes pages dans lesquels il y a un calcul...
Par contre, cela est loin d'être optimal.

Ce que je cherche à faire: Lorsqu'il y a une cellule précise qui change (via un cacul ex: =A1+A2) cela actionne une macro précise
De la sorte, de B1 à B19 il y a des calcul; lorsque B19 change cela actionne la macro sub19 alors que lorsque B12 change cela actionne la macro sub12 ....

Si quelqu'un aurait une nouvelle solution;
merci de m'en faire part

Bloomby
 
Re : Action Conditionnel (Copier coller)

Re
Petit essai de declanchement de macros a partir de cellules dont la formule contient l'adresse de la cellule ayant changé
Vois si tu peux adapter les macros en module1 et sheet3
Attention au mode d'ecriture des formules
 

Pièces jointes

Re : Action Conditionnel (Copier coller)

Bonjour forum, PierreJean,

merci de votre aide,

Présentement je ne suis pas en mesure d'utiliser worksheet_change adéquatement
car la cellule n'est pas changé manuellement ---) le changement est fait via une macro qui s'update avec l'aide d'un timer ce qui fait varier certaines cellules critiques.

De sorte qu'il n'y a aucun véritable changement manuel qui est fait !
Je me questionne donc a savoir quel sont mes options...

merci
 
Dernière édition:
Re : Action Conditionnel (Copier coller)

Re
puisque le changement provient d'une macro ,cette derniere sait quelle(s) cellule(s) elle vient de modifier. Il suffit alors d'en noter l'adresse puis en fin de macro lancer la macro adequate via un (ou des) Application.Run ou un Call
Est-il possible d'avoir un fichier exemple ?
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
906
Réponses
3
Affichages
880
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…