Créer une macro avec condition, recherche ou trouver, perdue

JTeks987

XLDnaute Nouveau
Bonjour, :eek:

Je souhaiterai avec votre aide créer une macro qui contiendrai une ou des conditions.

Dans mon tableau ci-joint, je souhaiterai: :D

si le texte "S4" est dans la cellule "J4"

alors Msgbox: "Est-ce le même jour, la même date que pour la S3", (S3 en cellule K3)

si oui = Msgbox : "Souhaitez-vous reporter les données de la S3, tels que les élèves "ABS, DECP3, de R1, R2 ou Décharge, SortP en S4"

alors report de toutes les données de la colonne K:K comme '"ABS, DECP3, R1, R2 et D, SortP" dans la colonne active "J:J" sur les mêmes lignes

si non = ne rien faire.

pour finir cette macro, placer le curseur sur la cellule active vide. Merci encore pour lecture et de votre aide.

(MDP pour projet = AEDTJ )

Je vous remercie d'avance, Cordialement. :oops:
 

JTeks987

XLDnaute Nouveau
Re : Créer une macro avec condition, recherche ou trouver, perdue

Bonjour tout le monde,

Pour continuer ma création de macro, en tant que débutante

j'ai inscrit ceci dans un module:


Sub PointageFinal()
'Déclaration des variables
Dim S4 As String, M4 As String

'Valeurs des Variables
S4 = Cells(4,10)
M4 = Cells(4,10)

'Boîte de dialogue
If MsgBox("Est-ce le même jour qu'en S3", vbYesNoCancel + vbExclamation + vbDefaultButton2, "Pointage final") = vbYes Then

'si oui = copier/coller (transposer) que ces données trouvées telles que "ABS, DECP3, R1, R2 et D, SortP" dans la colonne active "J:J" sur les mêmes lignes


franchement, là au fait je crois que je bug... :cry:

Merci sincèrement de votre aide

Cordialement
 

Iznogood1

XLDnaute Impliqué
Re : Créer une macro avec condition, recherche ou trouver, perdue

Bonjour,

sans rien comprendre du fonctionnement de ton fichier, voici un essai de code qui tente de traduire la demande de ton premier message :
Code:
Sub Demo()
  If InStr(1, [J4].Value, "S4") Then
    If MsgBox("Est-ce le même jour, la même date que pour la S3 (" & [K3].Value & ") ?", vbYesNo Or vbQuestion) = vbYes Then
      If MsgBox("Souhaitez-vous reporter les données de la S3, tels que les élèves ""ABS, DECP3, de R1, R2 ou Décharge, SortP"" en S4 ?", vbYesNo Or vbQuestion) = vbYes Then [K:K].Value = [J:J].Value
    End If
  End If
End Sub
 

Aimo Rauidos dit AieAie

XLDnaute Nouveau
Re : Créer une macro avec condition, recherche ou trouver, perdue

oui c'est bien comme ca maispourquoi une solution tarabustée? avec 'enregistreur" de code la macro qui me fait la macro que je purifie le superfloue par esemple avec une bouc For...Next qui menlèvent des ligneles fort inuiteles. si ca peut faire avancer?Cordialement.





" la constipacion no es tu amigo"
 

JTeks987

XLDnaute Nouveau
Re : Créer une macro avec condition, recherche ou trouver, perdue

Bonjour et merci à Iznogood1 et Aimo Rauidos dit AieAie

A y est à trouver the solution,


Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer
If Intersect(Target, [J4]) Is Nothing Then Exit Sub
Application.EnableEvents = False

If [J4] = "S4" Then

If MsgBox("Est-ce le même jour que la S3", vbQuestion + vbYesNo) = vbYes Then
If MsgBox("Souhaitez-vous reporter les données de la S3, tels que les élèves ""ABS, DECP3, de R1, R2 ou Décharge, Sortie Pédagogique en S4"" ", vbQuestion + vbYesNo) = vbYes Then
For i = 5 To [A65536].End(xlUp).Row
Select Case Range("K" & i)
Case "ABS", "DECP3", "R1", "R2", "SortP", "D"
Range("K" & i).Copy Range("J" & i)
End Select
Next i
Else
'positionnement cellule vide en colonne J
For i = 5 To [A65536].End(xlUp).Row
If IsEmpty(Range("J" & i)) Then Range("J" & i).Select: Exit For
Next
End If
End If
End If
Application.EnableEvents = True

End Sub

Maintenant je voudrais faire avec M4 à la place de S4, mais je n'y arrive pas il me met erreur, comment puis-je procéder, svp, merci?


une pensée à Fred2406, pour cette solution
 

Discussions similaires