Transférer données de F1 vers F 2 avec variables

Bonjour,

Travaillant dans la téléphonie, je souhaite mettre en place une macro qui me permette de copier les informations que j'entre dans la Feuille 1 pour le collecter et classer dans la Feuille 2, afin de pouvoir faire une analyse des problèmes que le personnel rencontre le plus souvent.

Pour synthétiser:

Avec un bouton, je souhaite copier ces données vers feuille 2, mais avec des conditions.

  • Si le nom de l'utilisateur est déjà présent : ne pas recoller le nom pour éviter les doublons
  • puis coller la valeur des colonnes que j'ai nommé "Test1" et "Test2" ( de feuille 1 vers Feuille 2)
  • Mais si la cellule n'est pas dispo, créer une ligne pour coller dans la colonne correspondante

Tous ceci liés au nom de l'utilisateur, car si un nom ressort, je souhaite que les données "TEST" soient collés en dessous.

Je suis débutante, alors j'ai fais ce que j'ai pu avec ce que j'ai trouvé sur internet, alors un coup de main de votre pars sera la bien venu.

Voici ce que j'ai commencé à écrire, il y a surement pleins d'erreurs car cela ne fonctionne pas :

Sub AAAA()

'Déclaration variables

Dim Plage As Range

Dim Lignes(), i As Long

Dim Flag As Boolean

Dim varTexte As String

varTexte = Range("F9")

Set Plage = Sheets("A").Columns(A) 'plage de recherche

Texte = Range("F9") 'expression cherchée

Flag = Find_Next(Plage, Texte, Lignes()) 'appel de la fonction

If Flag Then 'si fonction retourne Vrai = expression trouvée dans la plage

For i = LBound(Lignes) To UBound(Lignes) 'restitution des lignes correspondantes

Debug.Print Lignes(i)

Next i

Else

Sheets("A").Select

Range("F9").Select

Selection.Copy

Sheets("B").Select

Columns(A).Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

End If

End Sub

PS : je n'arrive pas à joindre mon fichier excel, alors j'espère que vous arriverez à me comprendre.

Bonsoir et bienvenu(e)

SIONG a écrit :

je n'arrive pas à joindre mon fichier excel

Regardes ici

https://forum.excel-pratique.com/annonces/explications-et-regles-a-respecter-t13.html#p113415

Bonjour, les fichiers ont un poids maximum pour être joint. Joignez une copie de votre fichier avec une vingtaine de ligne seulement et un exemple du résultat escompté. Cela multipliera vos chances d'obtenir une réponse.

Edit : Salutation BAnzaï...sur un autre post je t'ai répondu que le dictionary est sensible à la casse car c'est une méthode et non une propriété...Me suis-je trompé dans mon raisonnement ?

Bonjour

@ Force rouge

J'avais bien lu ta réponse et j'en avais pris acte, jusqu'à la prochaine fois où certainement j'aurai oublié (je n'ai que de la RAM et RAZ du disque dur tous les jours )

Force rouge a écrit :

Me suis-je trompé dans mon raisonnement ?

Je ne peux te le dire, moi j'ai pris pour argent comptant ce que tu as dis, je ne suis pas assez calé sur ça pour te contredire

Amicalement

Bonsoir Banzai & Force rouge

J'avais noté au passage cette indication que dictionary était sensible à la casse. Ça m'a surpris, je croyais le contraire ! Ce serait intéressant de confirmer ?

SIONG

Sans classeur difficile de voir ce que tu veux faire.

Quant à ta macro, sans savoir où elle va, à la lecture, je bute déjà sur la ligne :

Flag = Find_Next(Plage, Texte, Lignes())

Il semble que Find_Next soit une fonction qui doit te renvoyer une valeur booléenne en recherchant Texte dans Plage.

Je ne connais pas de fonction VBA ni Excel portant ce nom. Fonction personnalisée ?

Et comment intervient Lignes(), tableau dynamique déclaré en début de procédure qu'on n'a pas vu réapparaître avant pour le dimensionner et lui affecter quoi que ce soit ?

Cordialement,

Ferrand

Rechercher des sujets similaires à "transferer donnees variables"