trouver une ligne couper et coller ailleur

debo

XLDnaute Nouveau
salut à tous.Voilà mon petit souci.
j'ai plusieurs tableaux sur une feuille excel ("effectifs"), et chacun d'eux sont sous la forme ci dessous:

BCO encadrement(brigade)
nom pren matricule grade

SARIJ(brigade)
nom pren matricule grade

qd un membre du personnel change de brigade j'entre sa nouvelle brigade ds un userform (TBCIBrig) et son matricule(TBCIMatri).
Ce que je voudrais c'est qu'une fois trouver la personne par son matricule j'aimerais selectionner la ligne, la couper et selon sa nouvelle brigade coller la ligne ds la plage concernée.
ex:ancienne brigade(SARIJ) pr le matri 364817
nouvelle brigade notée ds TBCIBrig BCO encadrement
couper et si TBCIBrig=BCO encadrement coller ds la plage ("A385:E399")
Dim c As Range
Sheets("Effectifs").Activate
Set c = Columns("D").Find(TBCIMatri)
If TBCIBrig = "BCO encadrement" Then
Range("A385:E399").Select
Selection.Insert shift:=xlDown
End If
voilà le code qui ne marche pas
merci d'avance pour votre aide
 

porcinet82

XLDnaute Barbatruc
Re : trouver une ligne couper et coller ailleur

Salut Debo,

Et bien de rien, je pense qu'il est certainement possible d'améliorer un peu le code puisque dans le cas présent, si tu ne rentres pas le nom de brigade exacte, la macro ne se lance pas.

Si tu as des questions, n'hesite pas,

@+
 

debo

XLDnaute Nouveau
Re : trouver une ligne couper et coller ailleur

salut porcinet, merci encore pour ton aide précieuse.
j'ai un autre petit soucis.
je joins un fichier pour mieux comprendre.
je voudrais, d'après un userform, changer la valeur de la cellule de la colonne F de la feuille effectif, mais en vain.
Le code pour vbe = snvb
pour afficher l'userform ctrl+j
merci d'avance

debo
 

Pièces jointes

  • Copie de effectifs_v2.zip
    44.3 KB · Affichages: 25
  • Copie de effectifs_v2.zip
    44.3 KB · Affichages: 32
  • Copie de effectifs_v2.zip
    44.3 KB · Affichages: 38

porcinet82

XLDnaute Barbatruc
Re : trouver une ligne couper et coller ailleur

Salut Debo,

Et bien ca faisait un petit moment, je supose que tu etais en vacances. Je viens de regarder ton fichier et je ne comprends pas tres bien, tu parles de colonne F, mais il n'y a rien dans cette colonne. Est-ce que tu peux donner un peu plus d'information stp.

@+
 

debo

XLDnaute Nouveau
Re : trouver une ligne couper et coller ailleur

salut porcinet, effectivement j'ai pris quelques jours de vacances.Dur! dur!
la reprise il n'y a rien ds la colonne f je me suis trompé c'est ds la colonne E qu'il faut changer le grade par la valeur de la combobox(CboxCIGNGrad) nouveau grade de mon userform.
Jacques m'a donné une réponse mais là où il m'a dit de corriger le code ça marche très bien, c'est juste au niveau de Private Sub CmdCIGVal_click() que ca foire; qd je tape le matricule d'un fonctionnaire ds mon userform il me le remplis bien je selectionne ensuite ds la combobox son nouveau grade mais qd je valide il ne change pas le grade ds la colonne E du fonctionnaire selectionné mais me le met tout en haut ds la colonne E
j'espère que j'ai été clair
A plus

debo
 

porcinet82

XLDnaute Barbatruc
Re : trouver une ligne couper et coller ailleur

Salut Debo,

Je viens de regarde ton code et il te suffit de modifier la procédure de la manière suivante :
Code:
Private Sub CmdCIGVal_Click()
Dim cel As Range, c As Range, ad&
Sheets("Effectifs").Activate
For Each cel In Range("D1:D" & Range("D65536").End(xlUp).Row)
    For Each c In Range("D1:D" & Range("D65536").End(xlUp).Row)
        If LCase(c) = LCase(UsfCIGrade.TBoxCIGMat) Then
            c.Offset(0, 1) = CboxCIGNGrad.Value
            Unload UsfCIGrade
            Exit Sub
        End If
    Next c
Next cel
End Sub

@+
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 836
Messages
2 092 652
Membres
105 479
dernier inscrit
chaussadas.renaud