Rechercher la valeur d'une cellule dans une plage, me déplacer et y coller une plage

babiofabs

XLDnaute Nouveau
Bonjour, je viens solliciter votre aide.
Je suis débutant depuis 1 mois sur VB/VBA et j'ai Excel 2007 depuis 2 jours sur ce PC (ouf !). Mon problème est le suivant :

*DONNEES D'ENTREE :

- un tableau en CD2:FB1200 dont la cellule CD2 contient une heure aléatoire "HH:MM:SS".
- En Colonne A:A, est l'incrémentation des heures de 23:50:00 en A2 jusqu'à 00:10:00 en A87602. (en A602:A87002 de 00:00:00 à 00:00:00).

*MON SOUHAIT :

- Copier CE2:FB1200
- Rechercher et sélectionner la valeur de ma cellule CD2 dans la plage A602:A87002
- Me déplacer ensuite d'1 cellule sur la droite et 600 sur le haut
- Coller ici CE2:FB1200 (ou le déplacer directement)


Ce qui se passe au final est que la sélection s'implante directement en A602 au lien de son emplacement voulu :-/

Merci beaucoup pour l'aide précieuse. Je veux bien utiliser du VB comme du VBA.
Toutes aides seront utiles.
 

R@chid

XLDnaute Barbatruc
Re : Rechercher la valeur d'une cellule dans une plage, me déplacer et y coller une p

Salut et Bienvenu sur XLD,
les experts en VBA vont surement passer par la, mais il faut qu'ils trouvent un fichier exemple sans donnees confidentielles.
Aller en mode avance ==> Gerer les pieces jointes
 

babiofabs

XLDnaute Nouveau
Re : Rechercher la valeur d'une cellule dans une plage, me déplacer et y coller une p

Merci Rachid,
Je mets en fichier joint le fichier.
 

Pièces jointes

  • blank DATA - Exemple.zip
    184.8 KB · Affichages: 71
  • blank DATA - Exemple.zip
    184.8 KB · Affichages: 79
  • blank DATA - Exemple.zip
    184.8 KB · Affichages: 71

R@chid

XLDnaute Barbatruc
Re : Rechercher la valeur d'une cellule dans une plage, me déplacer et y coller une p

Salut,
je voie qu'il y a 58 exceliens qui ont vu la discussion, ca veut dire qu'ils n'ont pas bien compris la demande.
il faut que tu reviennes avec plus d'explications.
@ te relire
 

JBOBO

XLDnaute Accro
Re : Rechercher la valeur d'une cellule dans une plage, me déplacer et y coller une p

Bonjour,

En VBA je ne sais pas faire , mais en formule, voir solution en Piece jointe
 

Pièces jointes

  • blank DATA - Exemple.zip
    402.4 KB · Affichages: 65
  • blank DATA - Exemple.zip
    402.4 KB · Affichages: 65
  • blank DATA - Exemple.zip
    402.4 KB · Affichages: 71

babiofabs

XLDnaute Nouveau
Re : Rechercher la valeur d'une cellule dans une plage, me déplacer et y coller une p

Bonjour et désolé du retard, j'ai eu pas mal de boulot sur ce projet.

merci JBOBO, t'as solution fonctionne mais je souhaitais créer une boucle avec plus de 70 opérations sur un meme fichier. Ta solution ne me permets de le faire qu'une seule fois.

J'ai bien fait d'avoir fourni ces données aussez complexes parce que les génies d'entre vous me diront que la recherche d'une heure, contenu dans une cellule, dans une plage n'est pas possible.

Mais comme tous bons gentlemen, je vais vous expliquer comment j'ai procédé :

Si la recherche d'une heure, contenu dans une cellule, dans une plage n'a pas été possible, j'ai créé un seconde colonne en B:B qui reprend les valeurs en heures de A:A et les met en valeur générale (format / générale). Pour etre compatible, j'ai converti le contenu de mon heure de référence en CD2 en valeur générale en CD3.
De là, ma recherche s'exécute sans problème. Je me suis bien décalé de 600 vers haut et 1 à droite de ma valeur trouvée et je peux ainsi y coller sans problème mes 'tableau' auparavant en CD2:BF1200. Je supprime ensuite la colonne B:B et C:C (qui m'en plus utile pour ma résolution).
Et voilà le tour est joué !


Allez Et parce que je suis un gentil internaute, je vous donne les lignes de code si ca peut en aider certains :

Worksheets("DATA").Range("CD2:FC1200").Copy ' Copie des valeur de mon tableau
Nom = Range("CD3") ' l'analyse commence ICI
With Sheets("DATA")
Set c = Range("B602:B87002").Find(Nom, LookIn:=xlValues)
If Not c Is Nothing Then
c.Select
Else
MsgBox "nom introuvable" ' <- en cas ou c'est toujours bon de savoir si ca déconne
End If
End With
ActiveCell.Offset(-600, 1).Select ' décalage de 600 en haut et 1 cellule à droite puis collage de mon tableau
ActiveSheet.Paste
Application.CutCopyMode = False
 

Discussions similaires

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16